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