# Remove apostrophe in query

**URL:** <https://www.ruby-forum.com/t/remove-apostrophe-in-query/184353>\
**Category:** Rails\
**Created:** [March 1, 2010, 11:27am UTC](https://www.ruby-forum.com/t/remove-apostrophe-in-query/184353 "2010-03-01T11:27:40Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![LeonS](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/l/c77e96/32.png) [@LeonS](https://www.ruby-forum.com/u/LeonS)\
**Post date:** [March 1, 2010, 11:27am UTC](https://www.ruby-forum.com/t/remove-apostrophe-in-query/184353/1 "2010-03-01T11:27:40Z")

</div>

Hi,

I want to generate a query with conditions like that

:conditions =\> [“score\_team\_1 ? score\_team\_2”, compare\_sign] .

The resulting query ends e.g. with score\_team\_1 ‘=’ score\_team\_2  
How can i remove the apostrophes from include into the string?  
Thanks

---

<div class="post-metadata">

**Author:** ![LeonS](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/l/c77e96/32.png) [@LeonS](https://www.ruby-forum.com/u/LeonS)\
**Post date:** [March 1, 2010, 11:34am UTC](https://www.ruby-forum.com/t/remove-apostrophe-in-query/184353/2 "2010-03-01T11:34:41Z")

</div>

On Mar 1, 10:26 am, LeonS [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> Hi,
> 
> I want to generate a query with conditions like that
> 
> :conditions =\> [“score\_team\_1 ? score\_team\_2”, compare\_sign] .
> 
> The resulting query ends e.g. with score\_team\_1 ‘=’ score\_team\_2  
> How can i remove the apostrophes from include into the string?  
> Thanks

You can’t really do that like this - bind variables as designed for  
inserting literals. ‘Normal’ ruby interpolation might be the way  
forward here (assuming that compare sign is coming from a trusted  
source, if not sanitize it first).

Fred

---

<div class="post-metadata">

**Author:** ![LeonS](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/l/c77e96/32.png) [@LeonS](https://www.ruby-forum.com/u/LeonS)\
**Post date:** [March 1, 2010, 11:49am UTC](https://www.ruby-forum.com/t/remove-apostrophe-in-query/184353/3 "2010-03-01T11:49:19Z")

</div>

On 1 March 2010 10:26, LeonS [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> The resulting query ends e.g. with score\_team\_1 ‘=’ score\_team\_2  
> How can i remove the apostrophes from include into the string?  
> Thanks

You don’t need to use the array to populate conditions, as long as the  
“compare\_sign” isn’t user-supplied data; ie: you _know_ that it isn’t  
going to contain something that will compromise your DB, because you  
set it earlier.

:conditions =\> “score\_team\_1 #{compare\_sign} score\_team\_2”

…but there’s probably a _nice_ way of doing it.

---

<div class="post-metadata">

**Author:** ![LeonS](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/l/c77e96/32.png) [@LeonS](https://www.ruby-forum.com/u/LeonS)\
**Post date:** [March 2, 2010, 8:03pm UTC](https://www.ruby-forum.com/t/remove-apostrophe-in-query/184353/4 "2010-03-02T20:03:55Z")

</div>

On Mar 1, 5:26 am, LeonS [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> Hi,
> 
> I want to generate a query with conditions like that
> 
> :conditions =\> [“score\_team\_1 ? score\_team\_2”, compare\_sign] .
> 
> The resulting query ends e.g. with score\_team\_1 ‘=’ score\_team\_2  
> How can i remove the apostrophes from include into the string?

You could also consider switching the way the condition is defined:

score\_team\_1 \< score\_team\_2

is equivalent to:

score\_team\_1 - score\_team\_2 \< 0

which (on MySQL - check your DB for details) is equivalent to:

SIGN(score\_team\_1 - score\_team\_2) = -1

The last form is handy, as the number at the end controls whether you  
end up with \< or \>.

No idea if the different queries might have different performance -  
try it and see, if it’s an issue.

–Matt J.
