स्ट्रिंग फील्ड के साथ शून्य (0) जोड़कर MySQL के निहित प्रकार रूपांतरण का उपयोग करके अग्रणी संख्यात्मक भाग निकालें।
टेबल बनाना और डेटा डालना
mysql> CREATE TABLE DemoTable (StudentId VARCHAR(100));
Query OK, 0 rows affected (0.92 sec)
mysql> INSERT INTO DemoTable VALUES('9844Bob'),('6375DavidMiller'),('007'),('97474BobBrown'),('9844Bob56Taylor');
सभी रिकॉर्ड देखना
mysql> SELECT * FROM DemoTable;
आउटपुट:
+-----------------+
| StudentId |
+-----------------+
| 9844Bob |
| 6375DavidMiller |
| 007 |
| 97474BobBrown |
| 9844Bob56Taylor |
+-----------------+
संख्यात्मक भाग निकालने के लिए क्वेरी
mysql> SELECT StudentId, 0+StudentId AS GroupValue
FROM DemoTable;
परिणाम:
+-----------------+------------+
| StudentId | GroupValue |
+-----------------+------------+
| 9844Bob | 9844 |
| 6375DavidMiller | 6375 |
| 007 | 7 |
| 97474BobBrown | 97474 |
| 9844Bob56Taylor | 9844 |
+-----------------+------------+
5 rows in set, 4 warnings (0.00 sec)
व्याख्या: स्ट्रिंग में संख्या जोड़ने (0+StudentId) से MySQL स्ट्रिंग को संख्या में बदल देता है, अग्रणी अंकों को पढ़ता है और पहले गैर-अंक पर रुक जाता है। चेतावनियाँ गैर-संख्यात्मक सफिक्स के कारण होती हैं। CAST(StudentId AS UNSIGNED) के साथ स्पष्ट कास्टिंग स्पष्ट है।