Как удалить одинарные кавычки из таблицы в postgresql? - PullRequest
2 голосов
/ 21 декабря 2011

Я довольно долго искал, было бы здорово, если бы кто-нибудь связал меня с решением или ответил на мой запрос.Дело в том, что у меня есть таблица postgresql, которая содержит много одинарных кавычек, и я не могу понять, как от них избавиться, потому что, очевидно, это

  update tablename set fieldname= NULL where fieldname=' ; 

не сработает.

Ответы [ 2 ]

15 голосов
/ 24 декабря 2011

Лучше использовать replace () для этого:

UPDATE tbl SET col = replace(col, '''', '');

Гораздо быстрее, чем regexp_replace(), и он заменяет «глобально» - все вхождения поискастрока.Ранее принятый ответ @ beny23 был неверным в этом отношении.Он заменил только первые вхождения, должен быть:

UPDATE tbl SET col = regexp_replace(col, '''', '', 'g');

Обратите внимание на дополнительный параметр 'g' для globally.Прочитайте о строковых функциях в руководстве .

Кроме того: канонический (и стандарт SQL) способ экранировать одинарные кавычки (') в строковых литералах заключается вудвоить их ('').Конечно, тоже можно использовать escape-последовательности в стиле Posix.Детали:

1 голос
/ 21 декабря 2011
update tablename set fieldname= NULL where fieldname='''' ;

или

update tablename set fieldname= NULL where fieldname=E'\'' ;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...