Временная таблица не возвращает строки, которые она содержит - PullRequest
0 голосов
/ 27 февраля 2019

У меня есть временная таблица, хранящаяся в tempdb моего сервера.Когда я делаю образец SELECT, как это, он возвращает данные, которые частично отображаются на рисунке.

select top 10 * from ##FlowExecution 

enter image description here

Затем я копируюзначение первого CustomerIdHash для получения связанных с ним данных в таблице.

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

Удивительно, но я ничего не получаю взамен, и мне интересно, почему.

1 Ответ

0 голосов
/ 27 февраля 2019

'0x913DF790B957B42A9867F3491E9B8C919F81B64DC1812FDDECB9F919DB15A5D1'<> 0x913DF790B957B42A9867F3491E9B8C919F81B64DC1812FDDECB9F919DB15A5D1.Ваш столбец - varbinary, передайте ему varbinary:

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

Ваш запрос фактически неявно приводил ваше значение varchar к значению varbinary, в результате чего получалось значение 0x307839313344463739304239353742343241393836374633343931453942

SELECT CONVERT(varbinary,'0x913DF790B957B42A9867F3491E9B8C919F81B64DC1812FDDECB9F919DB15A5D1');
...