如何修改SELECT语句中的列值

时间:2012-06-16 17:38:01

标签: sql

我有一个名为" Sub channel"其中包含以下值:

gujrat channel,Delhi_channel,ROMG channel etc.

我想格式化报告的值。所以这些值应该是这样的:

Gujrat,Delhi,ROMG . 

基本上我想删除" channel"从价值观。我怎么能这样做?

3 个答案:

答案 0 :(得分:1)

什么样的SQL - 在TSQL中我会使用REPLACE并删除channel和_channel。 REPLACE的语法和链接:

REPLACE (string_expression,string_pattern,string_replacement)

SELECT REPLACE(REPLACE([Sub channel],'_channel',''),'channel','') FROM ...

答案 1 :(得分:0)

试试这个::

update table as tab1 
inner join 
(Select id, REPLACE('_channel','') as new_column from table) tab2 on (tab1.id=tab2.id)
set tab1.column = tab2.new_column

答案 2 :(得分:0)

在供应商的文档中查找字符串函数,并使用相应的函数。

如果您正在使用postgresql,请转到here并选择符合您需求的功能。您可以使用“替换”或“regex_replace”。

以下是使用替换的示例:

SELECT replace(t1.col1, 'channel', '') AS col1 FROM t1;

选择名为“t1”的表中的所有行,并选择“col1”列,并从中删除单词channel,并将列命名为“col1”(默认情况下,它将命名为“replace”in postgres的)。