MySQL-এ FALSE হলো 0। যখন একটি স্ট্রিংকে সংখ্যায় কনভার্ট করা হয় (যেমন 0 + 'abc'), তবে শুরুতে সংখ্যা না থাকলে ফলাফল 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)
0 যোগ করে স্ট্রিংকে সংখ্যায় কনভার্ট
mysql> SELECT 0 + Id FROM DemoTable804;
ফলাফল (ওয়ার্নিংসহ):
+------+ | 0+Id | +------+ | 101 | | 0 | | 1000 | | 1010 | +------+ 4 rows in set, 2 warnings (0.00 sec)
ব্যাখ্যা
'101John'-> শুরুতে '101' পাওয়া গেলে ১০১ রিটার্ন করে।'Carol1002'-> শুরুতে অক্ষর, তাই ০ রিটার্ন করে (ওয়ার্নিং: Truncated incorrect INTEGER value)।'1000'-> পুরো সংখ্যা, ১০০০ রিটার্ন করে।'1010Bob'-> শুরুতে '1010' পাওয়া গেলে ১০১০ রিটার্ন করে।
ব্যবহারিক টিপস
- স্ট্রিং থেকে সংখ্যা বের করতে
CAST(str AS UNSIGNED)বাCONVERT(str, UNSIGNED INTEGER)ব্যবহার করুন। REGEXPদিয়ে সংখ্যা অংশ বের করা যায়:CAST(REGEXP_SUBSTR(str, '[0-9]+') AS UNSIGNED)(MySQL 8.0+)- Boolean কনটেক্সটে খালি স্ট্রিং, '0', NULL, 0 সব FALSE।