MS SQL
有一个包含' SeqXXXX:hello world'
等数据的表格XXXX当然是递增的数字。
我想用空白替换那些。有没有办法取代' Seq'右边+ 4,更新声明中有空白?
答案 0 :(得分:2)
试试这个:
UPDATE YourTable
SET YourColumn = 'Seq'
WHERE LEN(YourColumn) = 7 AND
PATINDEX('%[0-9]%',RIGHT(YourColumn,4)) = 1 AND
LEFT(YourColumn, 3) = 'Seq'
根据您的评论,将其更改为
UPDATE YourTable
SET YourColumn = SUBSTRING(YourColumn, 8, LEN(YourColumn))
WHERE PATINDEX('%[0-9]%',RIGHT(LEFT(YourColumn, 7),4)) = 1 AND
LEFT(YourColumn, 3) = 'Seq'
答案 1 :(得分:1)
这会改变
Seq1234: hello world
向
: hello world
-
UPDATE yourtable
SET yourcolumn = stuff(yourcolumn, 1,7,'')
WHERE yourcolumn like 'seq[0-9][0-9][0-9][0-9]%'
答案 2 :(得分:0)
您还可以使用替换功能与Patindex修剪数字。