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

MySQL-এ SUBSTRING এবং UNION ALL দিয়ে ভিন্ন দৈর্ঘ্যের সাবস্ট্রিং একসাথে দেখানো

MySQL-এ SUBSTRING() (হรือ SUBSTR()) এবং UNION ALL ব্যবহার করে একই কলাম থেকে ভিন্ন দৈর্ঘ্যের সাবস্ট্রিং বের করে একসাথে দেখানো যায়।

উদাহরণ: টেবিল তৈরি এবং ডেটা ইনসার্ট

mysql> create table DemoTable856(Title text); 
Query OK, 0 rows affected (0.89 sec)
mysql> insert into DemoTable856 values('Introduction to MySQL'); 
Query OK, 1 row affected (0.17 sec) 
mysql> insert into DemoTable856 values('Java in depth'); 
Query OK, 1 row affected (0.16 sec) 
mysql> insert into DemoTable856 values('C++ with Data Structure'); 
Query OK, 1 row affected (0.17 sec)

সকল রেকর্ড দেখানো

mysql> select * from DemoTable856;
+-------------------------+
| Title                   |
+-------------------------+
| Introduction to MySQL   |
| Java in depth           |
| C++ with Data Structure |
+-------------------------+
3 rows in set (0.00 sec)

প্রথম ১২ ক্যারেক্টার এবং প্রথম ৪ ক্যারেক্টার একসাথে (UNION ALL)

mysql> select substr(Title,1,12) from DemoTable856 
    UNION ALL 
    select substr(Title,1,4) from DemoTable856;
+--------------------+
| substr(Title,1,12) |
+--------------------+
| Introduction       |
| Java in dept       |
| C++ with Dat       |
| Intr               |
| Java               |
| C++                |
+--------------------+
6 rows in set (0.03 sec)

ব্যাখ্যা

  • SUBSTR(Title, 1, 12) - ১ নম্বর পজিশন থেকে ১২ ক্যারেক্টার
  • SUBSTR(Title, 1, 4) - ১ নম্বর পজিশন থেকে ৪ ক্যারেক্টার
  • UNION ALL - দুটি রেজাল্ট সেট একসাথে জোড়া দেয় (ডুপ্লিকেট বাদ দেয় না, UNION দিয়ে দেয়)
  • কলাম নাম প্রথম কোয়েরির অনুযায়ী: substr(Title,1,12)

SUBSTRING সিনট্যাক্স

SUBSTRING(str, pos, len)  -- ১-ভিত্তিক পজিশন
SUBSTRING(str FROM pos FOR len)  -- ANSI SQL সিনট্যাক্স
SUBSTR(str, pos, len)  -- সংক্ষিপ্ত রূপ

নেগেটিভ পজিশন (ডানপাশ থেকে)

SUBSTRING(Title, -5)  -- শেষ ৫ ক্যারেক্টার
SUBSTRING(Title, -10, 5)  -- শেষ থেকে ১০তম থেকে ৫ ক্যারেক্টার

প্রয়োগ ক্ষেত্র

  • রিপোর্টিং-এ একই ডেটার ভিন্ন ভিউ
  • সার্চ সাজেশন: পূর্ণ নাম + সংক্ষিপ্ত নাম
  • ডেটা এক্সপ্লোরেশন: প্রিভিউ তৈরি
  1. MySQL에서 날짜 문자열을 요일 기준 월요일로 맞춰 표시하기 (STR_TO_DATE, WEEKDAY, DATE_FORMAT)

  2. MySQL-এ DATE_ADD দিয়ে ৪৫ দিন যোগ করে নতুন কলামে দেখানো

  3. MySQL-এ SUM() এবং FORMAT() কম্বাইন করে ফলাফল ফরম্যাট করা

  4. MySQL-এ GROUP_CONCAT() এবং SUM() দিয়ে একাধিক সারির স্ট্রিং কম্বাইন এবং আইডি যোগফল করা