如果列的前三个字符包含单词 "to ",如何删除它们?



我有一个表格,其中[英语]列有时包含包含单词"to"的数据。

如何从那些具有它的行中的字段中删除"to"。例如:

 to eat

会成为

 eat

一种方法是使用东西:

SELECT CASE WHEN ColumnName LIKE 'to %' THEN 
           STUFF(ColumnName, 1, 3, '')
       ELSE
           ColumnName 
       END As ColumnName 
FROM TableName

另一种选择是与 len 一起使用:

SELECT CASE WHEN ColumnName LIKE 'to %' THEN 
           RIGHT(ColumnName, LEN(ColumnName) - 3)
       ELSE
           ColumnName 
       END As ColumnName 
FROM TableName

我猜你正在寻找这样的东西:

UPDATE TableName 
SET ColumnName = SUBSTRING(ColumnName,4,len(ColumnName))
WHERE ColumnName LIKE 'to %';

之前和之后的图像

select case when CHARINDEX('to',column,0) = 0 then column
       else replace(column,'to ', '') end as column  --there is one space after 'to '
FROM TABLE
WHERE  --specify which rows here

相关内容

最新更新