将字符与sql中的数字连接起来

时间:2015-02-13 07:09:29

标签: sql sql-server

我有一个包含列id,cut_id的表。例如:

id  cust_id
1   abc1234
2   abc2345
3   abc5678

查询将cust_id更新为abc-1234而不是abc1234?

2 个答案:

答案 0 :(得分:2)

使用PATINDEX搜索数字字符的开头,STUFF在其间插入-

示例数据

ID          Cust_ID
----------- --------------------
1           abc1234
2           abc2345
3           abc5678
4           abcde5678
5           a5678
6           abcdef5678

<强>更新

UPDATE Temp SET Cust_ID = STUFF(Cust_ID, PATINDEX('%[0-9]%', Cust_ID), 0, '-')

<强> RESULT

ID          Cust_ID
----------- --------------------
1           abc-1234
2           abc-2345
3           abc-5678
4           abcde-5678
5           a-5678
6           abcdef-5678

答案 1 :(得分:0)

您可以使用STUFF

update your_table
set cust_id = stuff(cust_id, 4, 0, '-')