临时表不返回它包含的行

问题描述 投票:1回答:1

我有一个临时表存储在我服务器的tempdb中。当我像这样做一个SELECT样本时,它会返回部分显示在图片中的数据。

select top 10 * from ##FlowExecution 

enter image description here

然后我复制第一个CustomerIdHash的值,以获取其相关数据。

select top 10 * from ##FlowExecution 
where CustomerIdHash = '0x913DF790B957B42A9867F3491E9B8C919F81B64DC1812FDDECB9F919DB15A5D1'

令人惊讶的是,我得不到任何回报,我想知道为什么。

sql-server tsql ssms temp-tables
1个回答
4
投票

'0x913DF790B957B42A9867F3491E9B8C919F81B64DC1812FDDECB9F919DB15A5D1'<> 0x913DF790B957B42A9867F3491E9B8C919F81B64DC1812FDDECB9F919DB15A5D1。你的专栏是varbinary,传递给它varbinary

select top 10 * from ##FlowExecution 
where CustomerIdHash = 0x913DF790B957B42A9867F3491E9B8C919F81B64DC1812FDDECB9F919DB15A5D1;

您的查询实际上是隐式地将您的varchar值转换为varbinary值,从而产生值0x307839313344463739304239353742343241393836374633343931453942

SELECT CONVERT(varbinary,'0x913DF790B957B42A9867F3491E9B8C919F81B64DC1812FDDECB9F919DB15A5D1');
© www.soinside.com 2019 - 2024. All rights reserved.