SQL Server T-SQL 中的什么构造将Char(0)
用其十六进制代码替换嵌入在字符串中的空字符?
IE
REPLACE('t'+Char(0)+'t', Char(0), REPLACE(master.dbo.fn_varbintohexstr(0), '000000', ''))
不返回't0x00t'
,是什么?(这已经适用于 1 到 31。)
这个问题有解释问题是排序规则的答案。
这个答案显示master.dbo.fn_varbintohexstr(0)
将返回0x00000000
。
当我手动将内部简化Replace
为 时'0x00'
,只需添加一个Collate
子句就可以让它工作,就像上面建议的问题的答案一样,但是我找不到适用于完整表达式的版本(然后可以用于所有 n , 0 到 31,跳过 9、10 和 13)。