当前位置: 代码迷 >> Sql Server >> 把字段A的内容,中间有空格,分别更新到B和C列中,如何写
  详细解决方案

把字段A的内容,中间有空格,分别更新到B和C列中,如何写

热度:474   发布时间:2016-04-24 10:06:28.0
把字段A的内容,中间有空格,分别更新到B和C列中,怎么写?
字段A内容
中国 广东省
中国 湖南省
中国 黑龙江

中国后面有空格,再建一个B和C字段,分别从A字段中得到中国(B)和广东省(C),湖南省(C)

字段A内容          字段B内容     字段C内容
中国 广东省        中国              广东省
中国 湖南省        中国              湖南省
中国 黑龙江        中国              黑龙江

这样的UPDATE怎么写?可以分多条多步实现.
------解决方案--------------------
update tb set b=left(a,charindex(' ',a)-1),c=left(a,charindex(' ',a))

------解决方案--------------------
UPDATE TB SET 
b=
CASE
WHEN CHARINDEX(' ',a)>0 THEN LEFT(a,CHARINDEX(' ',a)-1)
ELSE a
END
,c=
CASE
WHEN CHARINDEX(' ',a)>0 THEN right(a,LEN(a)-CHARINDEX(' ',a))
ELSE ''
END
------解决方案--------------------
UPDATE TB SET b= REPLACE(left(a,charindex(' ',a)),' ',''),c=right(a,len(a)-charindex(' ',a))
  相关解决方案