Sql 无法得到眼前的结果?

Sql 无法得到眼前的结果?,sql,sql-server,tsql,Sql,Sql Server,Tsql,我有一个数据库,它使用VARBINARY(18)类型的字段来存储主键 A sample PK: 0x001B7431C732005C4785A14F168EBD1FC5E4 当我尝试运行一个简单的查询时,例如 SELECT * FROM mytable WHERE ID = '0x001B7431C732005C4785A14F168EBD1FC5E4' 我没有得到任何结果,即使我可以在mytable中看到PK 有人知道为什么会发生这种情况以及如何解决吗?我正在使用SQL2008R2 谢谢大

我有一个数据库,它使用VARBINARY(18)类型的字段来存储主键

A sample PK: 0x001B7431C732005C4785A14F168EBD1FC5E4
当我尝试运行一个简单的查询时,例如

SELECT * FROM mytable WHERE ID = '0x001B7431C732005C4785A14F168EBD1FC5E4'
我没有得到任何结果,即使我可以在mytable中看到PK

有人知道为什么会发生这种情况以及如何解决吗?我正在使用SQL2008R2

谢谢大家!

不要使用引号

表示字符串文字而不是二进制文字的。其效果是使用默认排序规则的代码页将所有二进制列数据隐式转换为字符串。这不匹配

以下是您所需要的全部内容

SELECT * 
FROM mytable 
WHERE ID = 0x001B7431C732005C4785A14F168EBD1FC5E4
不要使用引号

表示字符串文字而不是二进制文字的。其效果是使用默认排序规则的代码页将所有二进制列数据隐式转换为字符串。这不匹配

以下是您所需要的全部内容

SELECT * 
FROM mytable 
WHERE ID = 0x001B7431C732005C4785A14F168EBD1FC5E4

@艾伯特多森我很确定我在第一次需要做这件事的时候做了同样的事情。@艾伯特多森我很确定我在第一次需要做这件事的时候做了同样的事情。