拆分字符串。获得拆分SQL Server 2005的第一个值

时间:2013-02-22 07:31:23

标签: sql-server-2005

我有一个名为TableReason的表,其中包含一个名为Reason的列。

Reason数据类型为varchar(100),其中包含一行<{1}}的值

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

2,-2,22,33,0,2

1 个答案:

答案 0 :(得分:5)

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

这涉及3个案例

  • 没有逗号
  • 第一个字符是逗号
  • 一个数字后跟一个逗号