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) -- শেষ থেকে ১০তম থেকে ৫ ক্যারেক্টার
প্রয়োগ ক্ষেত্র
- রিপোর্টিং-এ একই ডেটার ভিন্ন ভিউ
- সার্চ সাজেশন: পূর্ণ নাম + সংক্ষিপ্ত নাম
- ডেটা এক্সপ্লোরেশন: প্রিভিউ তৈরি