কম্পিউটার টিউটোরিয়াল

MySQL-এ কলাম মান স্ট্রিং নাকি ডিজিট চেক করার পদ্ধতি

যদি আপনি শুধু স্ট্রিং মান চান, তবে নিচের সিনট্যাক্স ব্যবহার করুন:

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)
  1. MySQL-এ একই পরিমাণ সব রো থেকে বিয়োগ করা (SELECT Kolkata-20)

  2. MySQL-এ GROUP_CONCAT() ব্যবহার করে কলাম মানগুলো CSV ফরম্যাটে দেখানো

  3. MySQL-এ একটি কলামের স্ট্রিংগুলোর মধ্যে নির্দিষ্ট স্ট্রিং আছে কিনা যাচাই করা

  4. MySQL রেগুলার এক্সপ্রেশন: স্ট্রিংয়ে অঙ্ক (ডিজিট) ম্যাচ করা [0-9] ব্যবহার করে