gpt4 book ai didi

tsql - 使用 T-SQL 从字符串中删除指定单词

转载 作者:行者123 更新时间:2023-12-03 03:35:52 25 4
gpt4 key购买 nike

我正在尝试从表中的“描述”字段中删除某些字符串。为此我做了这个功能

<小时/>
CREATE FUNCTION fnDescriptionClean 
(@strDescription varchar(50))
RETURNS varchar(50)
AS
BEGIN

declare @Return varchar(50)
declare @badword varchar(50)

set @badword = 'Front'
set @strDescription = CASE

--Remove from mid string

WHEN @strDescription LIKE '% ' + @Badword +' %' THEN REPLACE(@strDescription,' ' + @Badword + ' ',' ')

--Remove from start of string

WHEN @strDescription LIKE @Badword +' %' THEN RIGHT(@strDescription, (len(@strDescription)-(len(@Badword)+1)))

--Remove from end of string

WHEN @strDescription LIKE '% ' + @Badword THEN LEFT(@strDescription, (len(@strDescription)-(len(@Badword)+1)))
ELSE @strDescription END

set @badword = 'Right'
set @strDescription = CASE

WHEN @strDescription LIKE '% ' + @Badword +' %' THEN REPLACE(@strDescription,' ' + @Badword + ' ',' ')
WHEN @strDescription LIKE @Badword +' %' THEN RIGHT(@strDescription, (len(@strDescription)-(len(@Badword)+1)))
WHEN @strDescription LIKE '% ' + @Badword THEN LEFT(@strDescription, (len(@strDescription)-(len(@Badword)+1)))
ELSE @strDescription END

RETURN @strDescription
end
<小时/>

我是 SQL 编程新手,希望对此进行改进。假设我想要一个包含“坏词”列表的表,我想将其从字符串中删除并在清理描述时循环遍历它。

我应该指出,这个过程需要尽可能高效,因为我正在处理 1500 万条记录。

最佳答案

为什么不直接使用 REPLACE

UPDATE tableName
SET columnName = REPLACE(columnName,'specific word','');

关于tsql - 使用 T-SQL 从字符串中删除指定单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11189927/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com