[英]Replace string using wildcards
MS SQL
有一个包含诸如“ SeqXXXX:hello world”之类的数据的表
XXXX当然是递增的数字。
我想将它们替换为空白。 有没有一种方法可以在更新语句中用空白替换右边的'Seq'+ 4?
尝试这个:
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'
这将改变
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]%'
您也可以将替换功能与Patindex配合使用以修剪数字。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.