sql-server - 在 SQL Server 中,用其十六进制代码替换嵌入在字符串中的空字符 Char(0)

标签 sql-server replace hex nul

SQL Server T-SQL 中将替换 Char(0) 的构造是什么? ,空字符,嵌入在一个字符串中,其十六进制代码?

IE。

 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 )。

最佳答案

你想要的可能是这个。

SELECT REPLACE('t'+Char(0)+'t', Char(0), CONVERT(VARCHAR(10),REPLACE(master.dbo.fn_varbintohexstr(0), '000000', '')))

您需要将其显式转换为 VARCHAR

如果你想要完整的表达删除内部替换
SELECT REPLACE('t'+Char(0)+'t', Char(0), CONVERT(VARCHAR(10),master.dbo.fn_varbintohexstr(0)))

关于sql-server - 在 SQL Server 中,用其十六进制代码替换嵌入在字符串中的空字符 Char(0),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10952252/

相关文章:

sql - 将 float (YYYY) 转换为日期时间

sql - 将存在查询的结果保存到变量

arrays - 在 bash 中更改数组值的正确模式

java - Android + SQL Server + jTDS

sql-server - SSRS 格式化字符串到日期时间 DD MMM YYYY HH MM

java - 如何替换用户输入字符串中除一个字符外的所有字符

javascript 替换源标签内的代码

css - 线性增加颜色暗度算法

java - 计算任意字符串的十六进制颜色代码

.net - 将 .Net 颜色对象转换为十六进制代码并返回