SQL 替换字符串中多个字符的函数
SQL function to replace many characters in a string
在 SQL 服务器中使用函数更改字符串中的许多错误字符的有效方法是什么?
暂时我使用:
更新 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)
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])
在 SQL 服务器中使用函数更改字符串中的许多错误字符的有效方法是什么?
暂时我使用: 更新 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)
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])