0

我有一个名为“TableA”的表,并且有一列“KNumber”,该列有一些值 [Data],其中包含 Pipe ' | ' 在。

例如如下。

1. AMERIK20121218|HA

2. AMERIKINITIAL20121130|DSS

3. |DSS

4. |HI

现在我想通过删除 KNumber 列中的这些额外值来对“TableA”执行清理 - 如果有一个 ' | ' 在

'| 之后的结尾和任何值 ',需要删除。

执行此操作的 TSQL 查询是什么?我有 3000 行的那一列有 ' | ' 在里面。我想更新所有这 3000 行并删除“|”之后的所有内容。

我使用 SQL Server 2008 R2。

提前感谢您的帮助。

4

1 回答 1

1

如果在KNumber全文索引中,您可以使用:

UPDATE TableA
SET KNumber = SUBSTRING(KNumber,0,CHARINDEX('|', KNumber)-1)
WHERE Contains(KNumber, '|')    

如果不是,您可以使用:

UPDATE TableA
SET KNumber = SUBSTRING(KNumber,0,CHARINDEX('|', KNumber)-1)
WHERE KNumber LIKE '%|%'

是一个演示。

于 2013-06-07T23:17:32.657 回答