SQL Server中使用函数更改字符串中的许多错误字符的有效方法是什么?
我暂时使用: 更新my_table
UPDATE dbo.my_table
SET [Description] = REPLACE([Description], '¿', N'A')
UPDATE dbo.my_table
SET [Description] = REPLACE([Description], '!', N'B')
我有很多替补。我会欢迎像:
dbo.function_replace_all_bad_characters(string)
答案 0 :(得分:1)
TSQL不支持正则表达式,因此您需要多次替换。但是,您可以将REPLACES加入一个更新语句,而不是多个更新,例如
UPDATE dbo.my_table
SET [Description] = REPLACE(REPLACE([Description], '¿', N'A'), '!', N'B')
您可以像这样定义自己的功能
CREATE FUNCTION dbo.function_replace_all_bad_characters(@str NVARCHAR(MAX))
RETURNS NVARCHAR(MAX)
AS
RETURN REPLACE(REPLACE(@str, '¿', N'A'), '!', N'B')
并使用像这样的功能
UPDATE dbo.my_table
SET [Description] = dbo.function_replace_all_bad_characters([Description])