Обсуждение: How to escape apostrophes when apostrophes already used to escape something else
How to escape apostrophes when apostrophes already used to escape something else
От
Stefan Schwarzer
Дата:
Hi there,
probably not too complicated, but although googling my way through
many pages, I don't find the solution.
I have a query which uses already an apostrophe to escape something
else:
$query = "SELECT
*
FROM
crosstab('SELECT
COALESCE(c.name, '''') AS name,
d.year_start AS year,
d.value AS value
FROM
co2_total_cdiac AS d
RIGHT JOIN
countries_view AS c ON c.id = d.id_country
WHERE
(d.year_start = 1960 ) AND
(c.name = ''Cote d'Ivoire'' )
ORDER BY
1,2;', 3) AS ct(name varchar, y_1960 numeric)
Now, "Cote d'Ivoire" needs to be escaped too. But how can I achieve
this?
Thanks for any hints.
Stef
Вложения
Re: How to escape apostrophes when apostrophes already used to escape something else
От
Grzegorz Jaśkiewicz
Дата:
use $$ Or you can always use double single quotes, which is going to translate into single one, ie : blah = 'foo '' bar'; will give you "foo ' bar" string.
Re: How to escape apostrophes when apostrophes already used to escape something else
От
"Albe Laurenz"
Дата:
Stefan Schwarzer wrote:
> probably not too complicated, but although googling my way through
> many pages, I don't find the solution.
>
> I have a query which uses already an apostrophe to escape something
> else:
>
> $query = "SELECT
> *
> FROM
> crosstab('SELECT
[...]
> (c.name = ''Cote
d'Ivoire'' )
> ORDER BY
> 1,2;', 3) AS ct(name
varchar, y_1960 numeric)
>
> Now, "Cote d'Ivoire" needs to be escaped too. But how can I achieve
> this?
In your case, by using ''Cote d''''Ivoire''.
Yours,
Laurenz Albe
Re: How to escape apostrophes when apostrophes already used to escape something else
От
Grzegorz Jaśkiewicz
Дата:
On Fri, Feb 5, 2010 at 1:29 PM, Albe Laurenz <laurenz.albe@wien.gv.at> wrote: > In your case, by using ''Cote d''''Ivoire''. single quotes for string literals. So again: 'Cote d''lvoire'. -- GJ
On Fri, Feb 05, 2010 at 10:13:21AM +0100, Stefan Schwarzer wrote: > probably not too complicated, but although googling my way through > many pages, I don't find the solution. > > I have a query which uses already an apostrophe to escape something > else: Not sure if "dollar quoting" may be easier for you here. Have a look at: http://www.postgresql.org/docs/current/static/sql-syntax-lexical.html#SQL-SYNTAX-DOLLAR-QUOTING -- Sam http://samason.me.uk/