YKindred的gravatar头像
YKindred 2016-08-15 16:51:33

sql怎么把查询结果中字符串分割赋值到另外两列?

sql怎么把查询结果中字符串分割赋值到另外两列?

xxxx-XXX-XXX  的 -XXX-XXX分别分开添加到qiujing和zhujing

所有回答列表(3)
sayHelloWorld的gravatar头像
sayHelloWorld  LV22 2016年8月16日

UPDATE tables SET qiujing = SUBSTRING_INDEX(SUBSTRING_INDEX(name,'-',-2),'-',1), zhujing = SUBSTRING_INDEX(name,'-',-1);

908247035的gravatar头像
908247035  LV4 2016年8月17日

UPDATE tables SET qiujing = left(right(name,7),3), zhujing = right(name,3);

1、从左开始截取字符串 
left(str, length) 
说明:left(被截取字段,截取长度)

2、从右开始截取字符串 
right(str, length) 
说明:right(被截取字段,截取长度) 

流浪的猫的gravatar头像
流浪的猫  LV2 2016年8月27日

DECLARE @str VARCHAR(100)='123xxx+100'

SELECT RIGHT(@str,PATINDEX('%[^0-9-+]%',REVERSE(@str))-2)

 

 

SELECT qiujing=LEFT(RIGHT(@str,PATINDEX('%[^0-9-+]%',REVERSE(@str))-2),PATINDEX('%[-+]%',RIGHT(@str,PATINDEX('%[^0-9-+]%',REVERSE(@str))-2)+'-')-1)

    ,zhujing=stuff(RIGHT(@str,PATINDEX('%[^0-9-+]%',REVERSE(@str))-2),1,PATINDEX('%[-+]%',RIGHT(@str,PATINDEX('%[^0-9-+]%',REVERSE(@str))-2)+'-'),'')

顶部 客服 微信二维码 底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友