📅  最后修改于: 2023-12-03 14:47:35.932000             🧑  作者: Mango
在 SQL Server 中,可以使用 TRANSLATE() 函数将一个字符串的一些字符替换成指定的字符或删除指定的字符。该函数在 SQL Server 2017 及以上版本中提供。
TRANSLATE(string, characters, replacements)
参数解释:
string
: 要进行字符替换或删除操作的字符串。characters
: 要替换或删除的字符。replacements
: 指定要替换成的字符。如果是删除字符操作,则此参数应该为空字符串。例如,将字符串中的所有空格都替换成下划线。
SELECT TRANSLATE('Hello, world!', ' ', '_');
-- 结果为 `Hello,_world!`
例如,将字符串中的空格和逗号都替换成下划线。
SELECT TRANSLATE('Hello, world!', ' ,', '__');
-- 结果为 `Hello__world!`
例如,删除字符串中的所有空格。
SELECT TRANSLATE('Hello, world!', ' ', '');
-- 结果为 `Hello,world!`
例如,删除字符串中的空格和逗号。
SELECT TRANSLATE('Hello, world!', ' ,', '');
-- 结果为 `Helloworld!`
characters
和 replacements
参数必须是等长的字符串。string
参数中的字符在 characters
参数中未出现,那么该字符将不受影响,不会被替换或删除。string
参数中的字符在 characters
参数中出现多次,那么每个字符都将被替换或删除。characters
参数中的字符有重复的,那么只有第一次出现的字符会被处理,后面重复的字符将被忽略。TRANSLATE()
函数是区分大小写的。如果 string
参数中包含大小写不同的字符,需要分别在 characters
参数和 replacements
参数中指定。