मेरे पास मेरे सर्वर के tempdb में एक अस्थायी तालिका संग्रहीत है। जब मैं इस तरह एक नमूना SELECT करता हूं, तो यह डेटा लौटाता है जो चित्र में आंशिक रूप से प्रदर्शित होता है।

select top 10 * from ##FlowExecution 

enter image description here

मैं फिर टेबल पर संबंधित डेटा प्राप्त करने के लिए पहले CustomerIdHash के मान की प्रतिलिपि बनाता हूं।

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

हैरानी की बात है कि बदले में मुझे कुछ नहीं मिलता और मैं सोच रहा हूं कि क्यों।

1
disasterkid 27 फरवरी 2019, 17:43

1 उत्तर

सबसे बढ़िया उत्तर

'0x913DF790B957B42A9867F3491E9B8C919F81B64DC1812FDDECB9F919DB15A5D1'<> 0x913DF790B957B42A9867F3491E9B8C919F81B64DC1812FDDECB9F919DB15A5D1. आपका कॉलम एक varbinary है, इसे एक varbinary पास करें:

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

आपकी क्वेरी प्रभावी रूप से आपके varchar मान को varbinary मान पर कास्ट कर रही थी, जिसके परिणामस्वरूप मान 0x307839313344463739304239353742343241393836374633343931453942

SELECT CONVERT(varbinary,'0x913DF790B957B42A9867F3491E9B8C919F81B64DC1812FDDECB9F919DB15A5D1');
4
Larnu 27 फरवरी 2019, 14:54