UNHEX()
एक फ़ंक्शन
है , इसलिए आप कुछ ऐसा कर सकते हैं
SET @var = '41';
SELECT UNHEX(@var);
SELECT UNHEX(hex_column) FROM my_table;
X
दूसरी ओर, हेक्साडेसिमल लिटरल का सिंटैक्स है
. आप यह नहीं कर सकते:
SET @var = '41';
SELECT [email protected]; -- error (string litteral expected)
SELECT X'@var'; -- error (`@` is not a hexadecimal digit)
SELECT X(@var); -- returns NULL, not too sure about the reason... [edit: but this is probably why you are inserting NULL values]
SELECT X(hex_column) FROM my_table; -- returns NULL as well
यह बताता है कि आपको X
. के साथ हमेशा बेहतर प्रदर्शन क्यों मिलता है :आप फ़ंक्शन कॉल के बजाय भाषा निर्माण का उपयोग कर रहे हैं। X
एक चर का मूल्यांकन करने की आवश्यकता नहीं है, क्योंकि यह एक लिटरल स्ट्रिंग की अपेक्षा करता है।