2015-04-01 2 views
0

Я пытаюсь преобразовать экземпляры символа 'в', но не могу работать, как это сделать.В postgres, как использовать символ апострофа как литерал

Это просто проверяет мой синтаксис был в порядке, но не изменяя характер

[email protected]:~$ echo "update musicbrainz.release set name = translate(name,'’','’') where name ~ '[’]+';"|psql jthinksearch 
UPDATE 7284 

Если я не спасаясь от "он не:

[email protected]:~$ echo "update musicbrainz.release set name = translate(name,'’',''') where name ~ '[’]+';"|psql jthinksearch 
ERROR: syntax error at or near "[" 
LINE 1: ...ease set name = translate(name,'’',''') where name ~ '[’]+'; 

, и если бы я избежать этого до сих пор не удается с различной погрешностью

  ^
[email protected]:~$ echo "update musicbrainz.release set name = translate(name,'’','\'') where name ~ '[’]+';"|psql jthinksearch 
ERROR: syntax error at or near "[" 
LINE 1: ...ase set name = translate(name,'’','\'') where name ~ '[’]+'; 
                   ^

ответ

0

Я бы просто использовать replace():

update musicbrainz.release 
    set name = replace(name, '’', '''') 
    where name like '%’%'; 

Чтобы избежать одиночной цитаты, удвойте ее.

+0

Im фактически переводит много символов (я просто упростил пример), но в любом случае спасибо за использование двух кавычек. –

Смежные вопросы