2012-09-20 128 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你想更新行还是只选择行? –