3

我有一个名为的表TableReason,其中有一列名为Reason.

Reason数据类型是并且包含一行varchar(100)这样的值2,-2,22,33,0,2

我需要为这个表写一个更新语句来完成:只需要用逗号分割的第一个值,即。2只需要。

 update TableReason
 set reason=--please help me on this.
4

1 回答 1

5
...
set reason=CASE CHARINDEX(',', reason)
                         WHEN 0 THEN reason
                         WHEN 1 THEN ''
                         ELSE LEFT(reason, CHARINDEX(',', reason)-1)
           END

这涉及 3 种情况

  • 没有逗号
  • 第一个字符是逗号
  • 一个数字后跟一个逗号
于 2013-02-22T07:34:07.737 回答