SQL -将多个不同的字符替换为字符串中的单个字符?



我想在MS SQL中清理字符串并将各种字符替换为下划线。

下面的代码可以实现:

DECLARE @string nvarchar(MAX)
DECLARE @new_string nvarchar(MAX)
SET @string = 'This is.my string/That Needs=cleaning'
SET @new_string = REPLACE(REPLACE(REPLACE(REPLACE(@string, ' ', '_'), '.', '_'), '/', '_'), '=', '_')
SELECT @new_string

这将返回'This_is_my_string_That_Needs_cleaning'

我将使用这个来清理文件名。

是否有更有效的方法,也许通过regex ?

SQL Server 2017+现在支持translate():

select @new_string = translate(@string, ' ./=', '____')

这是一个db<>小提琴

相关内容

  • 没有找到相关文章

最新更新