本文介绍了拆分字符串.获取拆分 SQL Server 2005 的第一个值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

I have a table called TableReason with a column called Reason.

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

Reason datatype is varchar(100) and contains values like this 2,-2,22,33,0,2 for one row

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

I need to write an update statement for this table to accomplish: only need first value of split with comma, ie. 2 only needed.

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

推荐答案

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

这涉及到 3 种情况

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

这篇关于拆分字符串.获取拆分 SQL Server 2005 的第一个值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-10 22:01