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

MySQL-এ REGEXP ব্যবহার করে ডট ও সংখ্যা সমাহিত রেকর্ড ফেচ করা

MySQL-এ ভার্সন স্ট্রিং বা ডট-সেপারেটেড সংখ্যা (যেমন '1.0.0', '1.5.0') ফিল্টার করতে REGEXP ব্যবহার করা হয়।

টেবিল এবং ডেটা

CREATE TABLE DemoTable (
    Version VARCHAR(20)
);

INSERT INTO DemoTable VALUES('1.0.0');
INSERT INTO DemoTable VALUES('2.s6.9');
INSERT INTO DemoTable VALUES('1.5.0');

কুয়েরি: শুধু সংখ্যা ও ডট সমাহিত ভার্সন (সেমভার-লাইক)

SELECT * FROM DemoTable 
WHERE Version REGEXP '^[0-9]+\\.[0-9]+(\\.[0-9]+)*$';

ফলাফল

+---------+
| Version |
+---------+
| 1.0.0   |
| 1.5.0   |
+---------+

রেজেক্স ব্যাখ্যা

  • ^ — স্ট্রিংয়ের শুরু
  • [0-9]+ — এক বা একাধিক ডিজিট (মেজর ভার্সন)
  • \\. — লিটারেল ডট
  • [0-9]+ — মাইনর ভার্সন
  • (\\.[0-9]+)* — অপশনাল প্যাচ/বিল্ড (ডট + ডিজিট, শূন্য বা অধিকবার)
  • $ — স্ট্রিংয়ের শেষ

ম্যাচ হয়

  • '1.0.0' ✓
  • '1.5.0' ✓
  • '2.10.3' ✓
  • '1.0' ✓ (প্যাচ অপশনাল)

ম্যাচ না হয়

  • '2.s6.9' ✗ (অক্ষর 's')
  • 'v1.0.0' ✗ (প্রিফিক্স 'v')
  • '1..0' ✗ (ডাবল ডট)

MySQL 8.0+: REGEXP_REPLACE (রিপ্লেস)

রেজেক্স দিয়ে রিপ্লেস করতে REGEXP_REPLACE(col, pattern, repl) ব্যবহার করুন (৮.০.৪+).

  1. MySQL-এ নির্দিষ্ট মাস এবং বছরের ভিত্তিতে রেকর্ড ফিল্টার করা

  2. MySQL-এ স্ট্রিং কলাম থেকে নির্দিষ্ট প্যাটার্নের রেকর্ড বের করা (স্ট্রিং, সংখ্যা, স্পেশাল ক্যারেক্টার)

  3. MySQL-এ REGEXP ব্যবহার করে শুধু স্ট্রিং বা স্ট্রিং-নম্বর মিশ্র রেকর্ড ফিল্টার করা

  4. MySQL-এ REGEXP ব্যবহার করে নির্দিষ্ট সংখ্যা দিয়ে শুরু হওয়া স্ট্রিং-নম্বর রেকর্ড ফেচ করা