हां, आप मिलान के लिए false को 0 के रूप में उपयोग कर सकते हैं।
आइए पहले एक टेबल बनाते हैं:
mysql> create table DemoTable804 ( Id varchar(100) ); Query OK, 0 rows affected (0.66 sec)
इन्सर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें:
mysql> insert into DemoTable804 values('101John');
Query OK, 1 row affected (0.20 sec)
mysql> insert into DemoTable804 values('Carol1002');
Query OK, 1 row affected (0.22 sec)
mysql> insert into DemoTable804 values('1000');
Query OK, 1 row affected (0.15 sec)
mysql> insert into DemoTable804 values('1010Bob');
Query OK, 1 row affected (0.10 sec)
सेलेक्ट स्टेटमेंट का उपयोग करके टेबल से सभी रिकॉर्ड प्रदर्शित करें:
mysql> select * from DemoTable804;
यह निम्नलिखिक आउटपुट देगा:
+-----------+ | Id | +-----------+ | 101John | | Carol1002 | | 1000 | | 1010Bob | +-----------+ 4 rows in set (0.00 sec)
False मिलान के लिए क्वेरी
यदि स्ट्रिंग की शुरुआत में संख्या पाई जाती है, तो यह परिवर्तित नहीं होगी और 0 दिखाई देगा। पंक्ति 2 में भी यही हुआ जैसा नीचे दिखाया गया है:
mysql> select 0+Id from DemoTable804;
यह निम्नलिखिक आउटपुट देगा:
+------+ | 0+Id | +------+ | 101 | | 0 | | 1000 | | 1010 | +------+ 4 rows in set, 2 warnings (0.00 sec)
व्याख्या
- MySQL में
FALSE= 0,TRUE= 1 0 + Idस्ट्रिंग को संख्या में बदलने का प्रयास करता है- '101John' → 101 (अग्रणी अंक पढ़ता है, फिर रुक जाता है)
- 'Carol1002' → 0 (अक्षर से शुरू होता है, कोई अग्रणी अंक नहीं)
- '1000' → 1000 (पूर्ण संख्या)
- '1010Bob' → 1010 (अग्रणी अंक पढ़ता है)
- चेतावनी: "Truncated incorrect DOUBLE value" उन स्ट्रिंग्स के लिए जो संख्या से शुरू नहीं होतीं
व्यावहारिक उपयोग
स्ट्रिंग से अग्रणी संख्या निकालने के लिए: CAST(Id AS UNSIGNED) या Id + 0।