【发布时间】:2018-01-28 17:14:49
【问题描述】:
我一直在用头撞墙。我正在尝试从 SQL Server 数据库中具有varbinary(28) 类型的字段中获取数据。
我只是不知道如何将数据从十六进制转换回字符。
我知道一个列 = '1081X' 并且存储在数据库中的十六进制是0x7E959C9ABB818C。
我试过了:
SELECT
0x7E959C9ABB818C, '1081X',
CONVERT(VARBINARY(28), '1081X'),
CONVERT(VARBINARY(28), N'1081X')
-- 0x7E959C9ABB818C 1081X 0x3130383158 0x31003000380031005800
关于如何从代码 0x7E959C9ABB818C 中检索“1081X”的任何想法?
【问题讨论】:
-
只是为了确保我给你正确的解决方案,二进制字段中的值是 ASCII 文本?
-
@virusstorm 我想是的。我已经尝试过 UTF 和 ASCII 但无法解决。
-
重新开始。您究竟如何知道此列包含您提供的文本值?
-
是的,我正在尝试与供应商数据库集成。该行包含有关药物的信息,包括其文本名称。对于该药物,我可以查找该药物的 PBS 代码,即 1081X
标签: sql-server