यह जांचने के लिए कि दिया गया मान एक स्ट्रिंग है या नहीं, हम कास्ट () फ़ंक्शन का उपयोग करते हैं। यदि मान संख्यात्मक नहीं है तो यह 0 देता है, अन्यथा यह संख्यात्मक मान लौटाएगा। इस तरह, हम जांच सकते हैं कि मान एक पूर्णांक है या नहीं।
केस 1 - पूर्णांकों वाली स्ट्रिंग की जांच करना
mysql> कास्ट का चयन करें ('जॉन 123456' अहस्ताक्षरित के रूप में);
निम्नलिखित आउटपुट है। यह दर्शाता है कि मान संख्यात्मक नहीं है, इसलिए 0 लौटा दिया जाता है।
<पूर्व>+--------------------------------+| कास्ट ('जॉन123456' अहस्ताक्षरित के रूप में) |+--------------------------------+| 0 |+--------------------------------+1 पंक्ति सेट में, 1 चेतावनी (0.00 सेकंड)केस 2 - केवल पूर्णांक मानों की जांच करना
mysql> कास्ट चुनें ('123456' AS UNSIGNED);
निम्नलिखित आउटपुट है। यह दर्शाता है कि मान संख्यात्मक है, इसलिए मान ही वापस आ जाता है।
<पूर्व>+----------------------------+| कास्ट ('123456' अहस्ताक्षरित के रूप में) |+----------------------------+| 123456 |+----------------------------+1 पंक्ति सेट में (0.00 सेकंड)यह तर्क फ्लोट के लिए भी अच्छा काम करता है।
फ्लोट वैल्यू वाली क्वेरी निम्नलिखित है।
mysql> CAST चुनें ('78.90' अहस्ताक्षरित के रूप में);
यहाँ आउटपुट है।
<पूर्व>+-------------------------------------+| कास्ट ('78.90' अहस्ताक्षरित के रूप में) |+-------------------------------+| 78 |+--------------------------+1 पंक्ति सेट में, 1 चेतावनी (0.00 सेकंड)नियमित ऑपरेटर के साथ वैकल्पिक तर्क
यह किसी भी मूल्य के लिए सभी स्थितियों के लिए काम करता है, यहां तक कि फ्लोट भी।
आइए एक नई तालिका बनाएं।
mysql> टेबल बनाएं CheckingIntegerDemo -> ( -> Value varchar(200) -> );क्वेरी ठीक है, 0 पंक्तियाँ प्रभावित (0.88 सेकंड)
तालिका में रिकॉर्ड सम्मिलित करना।
mysql> CheckingIntegerDemo मानों ('जॉन123456') में डालें; क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.10 सेकंड) mysql> CheckingIntegerDemo मान ('123456') में डालें; क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.16 सेकंड) mysql> सम्मिलित करें CheckingIntegerDemo मान ('123.456') में; क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.16 सेकंड)
सभी रिकॉर्ड प्रदर्शित करने के लिए।
mysql> CheckingIntegerDemo से *चुनें;
यहाँ आउटपुट है।
<पूर्व>+---------------+| मान |+---------------+| जॉन123456 || 123456 || 123.456 |+---------------+3 पंक्तियाँ सेट में (0.00 सेकंडउपरोक्त आउटपुट में, केवल 123456 एक पूर्णांक है और शेष नहीं हैं।
यह जांचने के लिए सिंटेक्स कि क्या मान एक पूर्णांक है।
अपनेटेबलनाम से अपना कॉलमनाम चुनें जहां आपका कॉलमनाम REGEXP '^-?[0-9]+$';
वह क्वेरी जिसमें हमने रेगुलर एक्सप्रेशन का उपयोग किया है। यह केवल पूर्णांक मान आउटपुट करेगा।
mysql> CheckingIntegerDemo से Value चुनें जहां Value REGEXP '^-?[0-9]+$';
निम्न आउटपुट है।
<पूर्व>+--------+| मान |+----------+| 123456 |+----------+1 पंक्ति सेट (0.00 सेकंड) में