在我的表格中,我想从Title
列中删除前7个字符。
我有一个如下表格,我想删除'Copy of'
前缀:
Title
---------------------
Copy ofthis is tile1
Copy ofthis is another tile2
我试过了:
Update MyTable SET Title=(SELECT RIGHT(Title,LEN(Title)- 7) AS Title)
WHERE Title LIKE 'Copy of%'
有什么建议吗?
答案 0 :(得分:0)
您不需要子查询,通常您不需要检查长度以确定输出应该有多长。假设这不是varchar(max)
,您可以这样做:
UPDATE dbo.MyTable
SET Title = SUBSTRING(Title, 8, 8000)
WHERE Title LIKE 'Copy of%';
或者你可以这样做:
UPDATE dbo.MyTable
SET Title = STUFF(Title, 1, 7, '')
WHERE Title LIKE 'Copy of%';
如果值为LTRIM()
,您可能还想使用'Copy of something'
并且您不想要前导空格:
UPDATE dbo.MyTable
SET Title = LTRIM(STUFF(Title, 1, 7, ''))
WHERE Title LIKE 'Copy of%';
答案 1 :(得分:0)
你想要SUBSTRING功能。
update mytable set value = substring ( value, 8, len (value) )
where value like 'copy of%'