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

Jus*_*day 3 sql-server-2005

我有一个叫做TableReason列的表叫做Reason.

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

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

 update TableReason
 set reason=--please help me on this.
Run Code Online (Sandbox Code Playgroud)

gbn*_*gbn 5

...
set reason=CASE CHARINDEX(',', reason)
                         WHEN 0 THEN reason
                         WHEN 1 THEN ''
                         ELSE LEFT(reason, CHARINDEX(',', reason)-1)
           END
Run Code Online (Sandbox Code Playgroud)

这涉及3个案例

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