我有一个临时表存储在服务器的tempdb
中。当我像这样执行示例SELECT
时,它返回部分显示在图片中的数据。
select top 10 * from ##FlowExecution
然后我复制第一个CustomerIdHash
的值以在表上获取其相关数据。
select top 10 * from ##FlowExecution
where CustomerIdHash = '0x913DF790B957B42A9867F3491E9B8C919F81B64DC1812FDDECB9F919DB15A5D1'
令人惊讶的是,我一无所获,我想知道为什么。
答案 0 :(得分:4)
'0x913DF790B957B42A9867F3491E9B8C919F81B64DC1812FDDECB9F919DB15A5D1'<> 0x913DF790B957B42A9867F3491E9B8C919F81B64DC1812FDDECB9F919DB15A5D1
。您的列是varbinary
,将其传递给varbinary
:
select top 10 * from ##FlowExecution
where CustomerIdHash = 0x913DF790B957B42A9867F3491E9B8C919F81B64DC1812FDDECB9F919DB15A5D1;
您的查询有效地将您的varchar
值隐式转换为varbinary
值,从而得到值0x307839313344463739304239353742343241393836374633343931453942
SELECT CONVERT(varbinary,'0x913DF790B957B42A9867F3491E9B8C919F81B64DC1812FDDECB9F919DB15A5D1');