CAST() ফাংশন ব্যবহার
স্ট্রিং হিসেবে সংরক্ষিত নাম্বারকে সাইনড ইন্টিজারে কনভার্ট করে তুলনা করতে CAST(column AS SIGNED) ব্যবহার করুন।
সিনট্যাক্স
SELECT * FROM yourTable WHERE CAST(yourColumn AS SIGNED) = yourIntegerValue;
উদাহরণ
টেবিল তৈরি (VARCHAR ID)
mysql> create table compareTwoStringDemo (
-> UserId varchar(100)
-> );
Query OK, 0 rows affected (0.78 sec)
স্ট্রিং নাম্বার ইনসার্ট
mysql> insert into compareTwoStringDemo values('1083745');
Query OK, 1 row affected (0.12 sec)
mysql> insert into compareTwoStringDemo values('9867585');
Query OK, 1 row affected (0.11 sec)
mysql> insert into compareTwoStringDemo values('3547483');
Query OK, 1 row affected (0.15 sec)
mysql> insert into compareTwoStringDemo values('9845646');
Query OK, 1 row affected (0.15 sec)
mysql> insert into compareTwoStringDemo values('9876532');
Query OK, 1 row affected (0.10 sec)
সকল রেকর্ড
mysql> SELECT * FROM compareTwoStringDemo;
আউটপুট
+---------+ | UserId | +---------+ | 1083745 | | 9867585 | | 3547483 | | 9845646 | | 9876532 | +---------+
CAST দিয়ে তুলনা (৩৫৪৭৪৮৩ খুঁজুন)
mysql> SELECT * FROM compareTwoStringDemo WHERE CAST(UserId AS SIGNED) = 3547483;
আউটপুট
+---------+ | UserId | +---------+ | 3547483 | +---------+
অন্যান্য কাস্ট টাইপ: UNSIGNED, DECIMAL, CHAR, DATE, DATETIME ইত্যাদি। স্ট্রিং কমপ্যারিজন (লেক্সিকোগ্রাফিক্যাল) এ '9' > '10' হয়, কিন্তু কাস্ট করার পর ৯ < ১০ হয়।