MySQL में स्ट्रिंग से इंटीजर में स्वचालित प्रकार रूपांतरण
यदि स्ट्रिंग इंटीजर से शुरू होती है तो यह स्ट्रिंग को इंटीजर में बदल देता है, अन्यथा नहीं। पहले टेबल बनाएं:
mysql> create table DemoTable1390 ( StudentId varchar(20) ); Query OK, 0 rows affected (0.93 sec)
रिकॉर्ड डालें:
mysql> insert into DemoTable1390 values('563_John'); Query OK, 1 row affected (0.10 sec)
mysql> insert into DemoTable1390 values('1001_Carol_Taylor'); Query OK, 1 row affected (0.08 sec)
mysql> insert into DemoTable1390 values('David_Miller_789'); Query OK, 1 row affected (0.07 sec)
mysql> insert into DemoTable1390 values('456_AdamSmith'); Query OK, 1 row affected (0.11 sec)
सभी रिकॉर्ड देखें:
mysql> select * from DemoTable1390;
आउटपुट:
+-------------------+ | StudentId | +-------------------+ | 563_John | | 1001_Carol_Taylor | | David_Miller_789 | | 456_AdamSmith | +-------------------+ 4 rows in set (0.00 sec)
WHERE क्लॉज में स्वचालित स्ट्रिंग से इंटीजर कास्टिंग करके विशिष्ट आईडी प्राप्त करने की क्वेरी:
mysql> select * from DemoTable1390 where StudentId=456;
परिणाम:
+---------------+ | StudentId | +---------------+ | 456_AdamSmith | +---------------+ 1 row in set, 4 warnings (0.02 sec)
व्याख्या: MySQL संख्यात्मक संदर्भ में स्ट्रिंग की तुलना करते समय अग्रणी संख्यात्मक भाग को निकालता है। '456_AdamSmith' की तुलना 456 से करने पर, MySQL '456' निकालता है और तुलना करता है, इसलिए यह मेल खाता है। 'David_Miller_789' संख्या से शुरू नहीं होता, इसलिए यह 0 के रूप में मूल्यांकन होता है। चेतावनियां (4 warnings) असाइनमेंट के दौरान काटे गए गैर-संख्यात्मक भागों को इंगित करती हैं।