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