在parens之后更改数据删除

时间:2018-02-14 21:10:06

标签: sql sql-server-2008

我在一列中有数据,如下所示: 在SQL Server 2008

Aetna (AETNA)

我需要对此进行更新,以便在更新模式下第一个parens之后删除所有内容的Aetna。

2 个答案:

答案 0 :(得分:2)

您可以使用CHARINDEX()查找(的位置,然后选择LEFT()的所有内容:

SELECT RTRIM(LEFT('Aetna (AETNA)',CHARINDEX('(','Aetna (AETNA)')-1))

需要从长度中减去1以同时删除(RTRIM()从右侧删除任何额外的空格。

只需用您的列名替换硬编码字符串。

更新将是:

UPDATE table
SET col = RTRIM(LEFT(col,CHARINDEX('(',col)-1))
WHERE col like '%(%'

答案 1 :(得分:0)

如果您需要为所有记录执行此操作:

update t
    set col = left(col, charindex(' (', col))
    where col like '% (%';