हम एक विशिष्ट पहचानकर्ता के साथ SQL सर्वर 2012 का उपयोग कर रहे हैं और हमने देखा है कि जब अतिरिक्त वर्णों के साथ चयन करते हैं तो अंत में जोड़ा जाता है (इसलिए 36 वर्ण नहीं) यह अभी भी एक यूयूआईडी के लिए एक मैच देता है।
उदाहरण के लिए:
select * from some_table where uuid = '7DA26ECB-D599-4469-91D4-F9136EC0B4E8'
पंक्ति को uuid के साथ लौटाता है 7DA26ECB-D599-4469-91D4-F9136EC0B4E8
।
लेकिन अगर आप चलाते हैं:
select * from some_table where uuid = '7DA26ECB-D599-4469-91D4-F9136EC0B4E8EXTRACHARS'
यह पंक्ति को uuid के साथ भी लौटाता है 7DA26ECB-D599-4469-91D4-F9136EC0B4E8
।
एसक्यूएल सर्वर अपने चयन करते समय 36 से परे सभी पात्रों को अनदेखा करता है। क्या यह बग / सुविधा या कुछ ऐसा है जिसे कॉन्फ़िगर किया जा सकता है?
यह एक बहुत बड़ा मुद्दा नहीं है क्योंकि हमारे पास लंबाई के लिए सामने के छोर पर सत्यापन है, लेकिन यह मुझे सही व्यवहार नहीं लगता है।