我周圍搜索了很多,如果有人可以將我鏈接到解決方案或回答我的查詢,那將是非常棒的。 的事情是我有一個包含很多單引號的,我無法弄清楚如何擺脫他們的PostgreSQL表,因爲顯然這如何從postgresql中的表中刪除單引號?
update tablename set fieldname= NULL where fieldname=' ;
不會工作。
我周圍搜索了很多,如果有人可以將我鏈接到解決方案或回答我的查詢,那將是非常棒的。 的事情是我有一個包含很多單引號的,我無法弄清楚如何擺脫他們的PostgreSQL表,因爲顯然這如何從postgresql中的表中刪除單引號?
update tablename set fieldname= NULL where fieldname=' ;
不會工作。
爲了這個美好的使用replace():
UPDATE tbl SET col = replace(col, '''', '');
比regexp_replace()
更快速,它取代了 「全局」 - 搜索字符串的所有地方。以前接受的answer by @beny23在這方面是錯誤的。它取代只有第一齣現,必須是:
UPDATE tbl SET col = regexp_replace(col, '''', '', 'g');
注意附加參數'g'
爲globally
。閱讀關於string functions in the manual。
旁白:規範(和SQL標準)的方式在字符串逃逸單引號('
)是它們的兩倍(''
)。當然,使用Posix樣式轉義序列也是有效的。詳細信息:
update tablename set fieldname= NULL where fieldname='''' ;
或
update tablename set fieldname= NULL where fieldname=E'\'' ;
他們都沒有工作,不知道如果我在想念的東西在這裏。 – KodeSeeker 2011-12-21 12:12:09
也許值中有空格。嘗試'SELECT'*'|| fieldname || '*'FROM tablename'來檢查它。 – DavidEG 2011-12-21 12:43:13
試圖顯示「*'*」形式的結果 – KodeSeeker 2011-12-22 05:42:54