Обсуждение: quote in string
Hi, I have a function and it's interface is : my_flexible_sql_function(cmd) where cmd is another sql command. I call this function like this: select * from my_flexible_sql_function('select * from employee where id < 100') Inside this functioin, I will first retrieve all data by calling 'select * from employee where id < 100' and do some calculation about the result and then return. No I run into a problem, I need to call it like this: select * from my_flexible_sql_function('select * from employee where dep ='Eng' ') But looks like there is a problem to include a string inside the cmd. The way I write 'Eng' is not right. Is there a way to include quote in string? Thanks, ff
On Wed, May 21, 2008 at 11:36 AM, finecur <finecur@yahoo.com> wrote: > Hi, I have a function and it's interface is : > > my_flexible_sql_function(cmd) > > where cmd is another sql command. I call this function like this: > > select * from my_flexible_sql_function('select * from employee where > id < 100') > > Inside this functioin, I will first retrieve all data by calling > 'select * from employee where id < 100' and do some calculation about > the result and then return. > > No I run into a problem, I need to call it like this: > > select * from my_flexible_sql_function('select * from employee where > dep ='Eng' ') > > But looks like there is a problem to include a string inside the cmd. > The way I write 'Eng' is not right. Is there a way to include quote in > string? Assuming you're running a fairly recent pgsql version (8.0 and up) you can use $$ quoting: select * from my_flexible_sql_function($$select * from employee where dep ='Eng' $$)
On May 21, 2008, at 7:36 PM, finecur wrote: > select * from my_flexible_sql_function('select * from employee where > dep ='Eng' ') You need to escape that string like 'select * from employee where dep =''Eng'' ' Alban Hertroys -- If you can't see the forest for the trees, cut the trees and you'll see there is no forest. !DSPAM:737,483665eb927662006790369!