# Query some part on each record

**URL:** <https://www.ruby-forum.com/t/query-some-part-on-each-record/159292>\
**Category:** Rails\
**Created:** [February 3, 2009, 8:38am UTC](https://www.ruby-forum.com/t/query-some-part-on-each-record/159292 "2009-02-03T08:38:57Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![ukarick](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/u/e19b73/32.png) [@ukarick](https://www.ruby-forum.com/u/ukarick)\
**Post date:** [February 3, 2009, 8:38am UTC](https://www.ruby-forum.com/t/query-some-part-on-each-record/159292/1 "2009-02-03T08:38:57Z")

</div>

I would like to ask you this question  
suppose that I’ve 1 record which contains very long contents like

## Big\_Row\_Table

## Row1|Big\_Row|

Row1|very long contents

I would like to query only some part of Big row (such as get first 4  
characters )of this row by running query commands like this:

GetsomePart = Big\_Row\_Table.find(somecommand)

GetsomePart.Big\_Row

“very” \<—this is the result I need

any idea?

---

<div class="post-metadata">

**Author:** ![ukarick](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/u/e19b73/32.png) [@ukarick](https://www.ruby-forum.com/u/ukarick)\
**Post date:** [February 3, 2009, 8:49am UTC](https://www.ruby-forum.com/t/query-some-part-on-each-record/159292/2 "2009-02-03T08:49:46Z")

</div>

i don’t wann disappoint, but i think you’ll have to query the whole  
entry “very long contents” and cut off the tail.

GetsomePart.Big\_Row[0…3]

if anyone knows a better solution (one that offers more performance),  
let me know.

---

<div class="post-metadata">

**Author:** ![ukarick](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/u/e19b73/32.png) [@ukarick](https://www.ruby-forum.com/u/ukarick)\
**Post date:** [February 3, 2009, 10:16am UTC](https://www.ruby-forum.com/t/query-some-part-on-each-record/159292/3 "2009-02-03T10:16:58Z")

</div>

MaD wrote:

> i don’t wann disappoint, but i think you’ll have to query the whole  
> entry “very long contents” and cut off the tail.
> 
> GetsomePart.Big\_Row[0…3]
> 
> if anyone knows a better solution (one that offers more performance),  
> let me know.

Thx , Mad 😃  
Any other solution? 🙂

---

<div class="post-metadata">

**Author:** ![ukarick](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/u/e19b73/32.png) [@ukarick](https://www.ruby-forum.com/u/ukarick)\
**Post date:** [February 3, 2009, 12:00pm UTC](https://www.ruby-forum.com/t/query-some-part-on-each-record/159292/4 "2009-02-03T12:00:47Z")

</div>

On 3 Feb 2009, at 07:48, MaD wrote:

> i don’t wann disappoint, but i think you’ll have to query the whole  
> entry “very long contents” and cut off the tail.
> 
> GetsomePart.Big\_Row[0…3]
> 
> if anyone knows a better solution (one that offers more performance),  
> let me know.

Well I don’t know if it’s a good idea, probably database dependent  
etc. etc. but Foo.find some\_id, :select =\> ‘substring(bar,0, 5) as  
bar, id, …’  
Database almost certainly still needs to go and load that entire  
column so I doubt it will make a huge difference.

Fred

---

<div class="post-metadata">

**Author:** ![ukarick](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/u/e19b73/32.png) [@ukarick](https://www.ruby-forum.com/u/ukarick)\
**Post date:** [February 3, 2009, 11:56am UTC](https://www.ruby-forum.com/t/query-some-part-on-each-record/159292/5 "2009-02-03T11:56:39Z")

</div>

You could have another column in the table, containing the short  
version.

2009/2/3 Ukrit H. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)

---

<div class="post-metadata">

**Author:** ![ukarick](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/u/e19b73/32.png) [@ukarick](https://www.ruby-forum.com/u/ukarick)\
**Post date:** [February 4, 2009, 10:28am UTC](https://www.ruby-forum.com/t/query-some-part-on-each-record/159292/6 "2009-02-04T10:28:54Z")

</div>

On Feb 4, 7:37 am, Ukrit H. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
wrote:

> Would you please tell more details on this solution? Fred I’m not  
> clearly understand this.

There’s not a whole lot to it - use a select clause to control what is  
fetched by the database.

Fred

---

<div class="post-metadata">

**Author:** ![ukarick](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/u/e19b73/32.png) [@ukarick](https://www.ruby-forum.com/u/ukarick)\
**Post date:** [February 4, 2009, 8:37am UTC](https://www.ruby-forum.com/t/query-some-part-on-each-record/159292/7 "2009-02-04T08:37:05Z")

</div>

Frederick C. wrote:

> On 3 Feb 2009, at 07:48, MaD wrote:
> 
> > i don’t wann disappoint, but i think you’ll have to query the whole  
> > entry “very long contents” and cut off the tail.
> > 
> > GetsomePart.Big\_Row[0…3]
> > 
> > if anyone knows a better solution (one that offers more performance),  
> > let me know.
> 
> Well I don’t know if it’s a good idea, probably database dependent  
> etc. etc. but Foo.find some\_id, :select =\> ‘substring(bar,0, 5) as  
> bar, id, …’  
> Database almost certainly still needs to go and load that entire  
> column so I doubt it will make a huge difference.
> 
> Fred

Would you please tell more details on this solution? Fred I’m not  
clearly understand this.
