यह भी मेल खाता है:
SELECT CONVERT('a' USING BINARY) REGEXP '[1-\x]'
कारण यह है कि \x
x
. के रूप में व्याख्या की जाती है और a
1
. के बीच आता है और x
. आपके बाकी रेगेक्स केवल सामान्य वर्ण हैं जो यहां प्रासंगिक नहीं हैं क्योंकि वे पहले से ही [1-x] श्रेणी के अंदर हैं।
SELECT CONVERT('0' USING BINARY) REGEXP '[\x61-\x61]' -- Fails, because 0 < 1.
SELECT CONVERT('1' USING BINARY) REGEXP '[\x61-\x61]' -- Succeeds: inside [1-x].
SELECT CONVERT('2' USING BINARY) REGEXP '[\x61-\x61]' -- Succeeds: inside [1-x].
...
SELECT CONVERT('w' USING BINARY) REGEXP '[\x61-\x61]' -- Succeeds: inside [1-x].
SELECT CONVERT('x' USING BINARY) REGEXP '[\x61-\x61]' -- Succeeds: inside [1-x].
SELECT CONVERT('y' USING BINARY) REGEXP '[\x61-\x61]' -- Fails, because y > x.
मुझे यकीन नहीं है कि आप क्या हासिल करने की कोशिश कर रहे हैं, लेकिन अगर आप हेक्स वर्ण चाहते हैं, तो आप हेक्स फ़ंक्शन का उपयोग कर सकते हैं:
SELECT HEX('a')
61