临时表未返回其包含的行

时间:2019-02-27 14:43:56

标签: sql-server tsql ssms temp-tables

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

select top 10 * from ##FlowExecution 

enter image description here

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

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

令人惊讶的是,我一无所获,我想知道为什么。

1 个答案:

答案 0 :(得分:4)

'0x913DF790B957B42A9867F3491E9B8C919F81B64DC1812FDDECB9F919DB15A5D1'<> 0x913DF790B957B42A9867F3491E9B8C919F81B64DC1812FDDECB9F919DB15A5D1。您的列是varbinary,将其传递给varbinary

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

您的查询有效地将您的varchar值隐式转换为varbinary值,从而得到值0x307839313344463739304239353742343241393836374633343931453942

SELECT CONVERT(varbinary,'0x913DF790B957B42A9867F3491E9B8C919F81B64DC1812FDDECB9F919DB15A5D1');