I have a function in postgresql function f_criaproduto(p_texto text)
, I have to pass as f_criaproduto(' meu produto é 'televisao' da melhor qualidade')
.
How can I escape the quotes in the text?
I have a function in postgresql function f_criaproduto(p_texto text)
, I have to pass as f_criaproduto(' meu produto é 'televisao' da melhor qualidade')
.
How can I escape the quotes in the text?
Just double the single quotes to generate an escape .
Example:
f_criaproduto(' meu produto é ''televisao'' da melhor qualidade')
To escape quotes, you can duplicate them. Example:
f_criaproduto('meu produto é ''televisao'' da melhor qualidade')
To avoid the problem of having too many quotation marks to escape, you can use the dollar syntax:
$$meu produto é 'televisao' da melhor qualidade$$
Note that in this case, the string is set to a couple of dollars instead of quotes. If your string also has dollars, you can use a tag for it, setting it between the dollars. For example, to set the string minha 'televisao' custa uma boa $!
$string$minha 'televisao' custa uma boa $!$string$
It's still possible to use the \
character you need two things:
in the configuration file, you should enable standard_conforming_strings
:
standard_conforming_strings = off
Start your strings with E
. Example:
E'meu produto é \'televisao\' da melhor qualidade'
But this last option is old and should be avoided if possible