2012-09-20 173 views
4

我想做的事情串在pgsql數據庫列中的某些數據替換。我試過如何使用PostgreSQL的「替換」功能,以字符串替換

CASE 
    WHEN (po.siteid IS NOT NULL) THEN replace('po.html_content', 'abcd', 'xxx') 
     ELSE pc.html_content 
END 

我想替換po.html_content列中的字符串。但上面的代碼不起作用。查詢獲取po.html_content列中的數據而無需更換。 是我的代碼錯誤或任何想法...

+0

你應該表現出一些像您期望的不被處理的數據。的'SELECT po.html_content,替換輸出(po.html_content,「ABCD」,「XXX」)FROM po'表示一些其中它沒有被替換的行的。 – Edmund

回答

6

在一個單引號不要封閉的列名,在這種情況下,它是不是列了,但正常的字符串。

CASE 
    WHEN (po.siteid IS NOT NULL) THEN replace(po.html_content, 'abcd', 'xxx') 
    ELSE pc.html_content 
END 
+0

感謝您的提示。但問題沒有解決:( – Miuranga

+0

@miuranga你可以發佈整個查詢嗎? –

+0

@miuranga你想更新行還是隻選擇行? –