যদি আপনি শুধু স্ট্রিং মান চান, তবে নিচের সিনট্যাক্স ব্যবহার করুন:
select *from yourTableName where yourColumnName NOT regexp '^[0-9]+$';
যদি আপনি শুধু ডিজিট চান, তবে নিচের সিনট্যাক্স ব্যবহার করুন:
select *from yourTableName where yourColumnName regexp '^[0-9]+$';
প্রথমে একটি টেবিল তৈরি করা যাক:
mysql> create table DemoTable( Id varchar(100) ); Query OK, 0 rows affected (0.49 sec)
ইনসার্ট কমান্ড ব্যবহার করে টেবিলে কিছু রেকর্ড যোগ করুন:
mysql> insert into DemoTable values('1000'); Query OK, 1 row affected (0.16 sec)
mysql> insert into DemoTable values('John'); Query OK, 1 row affected (0.10 sec)
mysql> insert into DemoTable values('Carol_Smith'); Query OK, 1 row affected (0.15 sec)
mysql> insert into DemoTable values('2000'); Query OK, 1 row affected (0.10 sec)
সিলেক্ট স্টেটমেন্ট ব্যবহার করে টেবিল থেকে সব রেকর্ড দেখান:
mysql> select *from DemoTable;
এটি নিচের আউটপুট দেবে:
+-------------+ | Id | +-------------+ | 1000 | | John | | Carol_Smith | | 2000 | +-------------+ 4 rows in set (0.00 sec)
CASE 1 - শুধু স্ট্রিং মান পাওয়ার কোয়েরি:
mysql> select *from DemoTable where Id NOT regexp '^[0-9]+$';
এটি নিচের আউটপুট দেবে যেখানে শুধু স্ট্রিং কলাম মান দেখানো হয়েছে:
+-------------+ | Id | +-------------+ | John | | Carol_Smith | +-------------+ 2 rows in set (0.00 sec)
CASE 2 - শুধু ডিজিট পাওয়ার কোয়েরি:
mysql> select *from DemoTable where Id regexp '^[0-9]+$';
এটি নিচের আউটপুট দেবে যেখানে শুধু ডিজিট কলাম মান দেখানো হয়েছে:
+------+ | Id | +------+ | 1000 | | 2000 | +------+ 2 rows in set (0.00 sec)