I got an array of id’s :
ids = [22443, 22468, 22371, 22218, 22472, 22377, 22245]
I would like to get a string of strings (to be used in SQL WHERE…IN
clause
" ‘22443’ , ’ 22468’ , ’ 22371’ , ’ 22218’ , ‘22472’ , ‘22377’ , ‘22245’
"
If a use ids.join(’,’), I get
“22443,22468,22371,22218,22472,22377,22245” which is obviously not
useful for SQL…
is there any shorcuts or should I concatenate each element ?
thanks
joss
On 12/19/06, Josselin [email protected] wrote:
useful for SQL…
ids.map {|i| “‘#{i}’”}.join(" ,")
martin
On 2006-12-19 09:29:38 +0100, “Martin DeMello” [email protected]
said:
“22443,22468,22371,22218,22472,22377,22245” which is obviously not
useful for SQL…
ids.map {|i| “‘#{i}’”}.join(" ,")
martin
thanks Martin… I realize that the error I got was not due to
integers list , “22443, 22468, 22371, 22218, 22472, 22377, 22245” is
accepted… so the join(‘,’) is ok…
but the list is too long … for a select statement… (I can have 50
numbers or more…) there is a characters limit to the select
joss
On 12/19/06, Martin DeMello [email protected] wrote:
‘22245’ "
If a use ids.join(‘,’), I get
“22443,22468,22371,22218,22472,22377,22245” which is obviously not
useful for SQL…
ids.map {|i| “‘#{i}’”}.join(" ,")
martin
“'#{ids.join(”‘,’“)}'”
Johan
ids = [22443, 22468, 22371, 22218, 22472, 22377, 22245]
“IN (’”+ids.join("’, ‘")+"’)"
Shiwei
(The views expressed are my own and not necessarily those of Oracle and
its affiliates.)