প্রশ্নগুলির সাথে কাজ করার সময়, কখনও কখনও আমাদের ডাটাবেস থেকে কাঁচা ডেটা নিতে হবে এবং অন্য কোথাও ব্যবহারের জন্য এটিকে অন্যভাবে ফর্ম্যাট করতে হবে। এই নিবন্ধে, আমরা আমাদের প্রশ্নের মধ্যে স্ট্রিং প্রকারের সাথে কাজ করতে সাহায্য করার জন্য মাইএসকিউএল-এর কয়েকটি ফাংশন দেখি।
স্কিমা তৈরি করা
এই বিভাগটি এই পোস্টে আচ্ছাদিত SQL ধারণাগুলিকে চিত্রিত করার জন্য একটি দ্রুত স্কিমা প্রস্তুত করার জন্য নিবেদিত। আমরা ফাংশনগুলির জন্য MySQL ব্যবহার করি - আমি সিনট্যাক্স ব্যবহার করে অনুশীলন করতে এবং আপনার অনুসন্ধানের প্রশ্নগুলি চালানোর জন্য SQL Fiddle ব্যবহার করার পরামর্শ দিই। সেখানে, আপনি অন্যান্য রিলেশনাল ডেটাবেসেও আপনার প্রশ্নগুলি পরীক্ষা করতে পারেন৷
৷টেবিল তৈরি করুন এবং মান সন্নিবেশ করুন
CREATE TABLE birthdays ( name varchar(200) NOT NULL, birthday varchar(10) NOT NULL ); INSERT INTO birthdays (name, birthday) VALUES("Jane", "11/20/1993"); INSERT INTO birthdays (name, birthday) VALUES("Duncan", "01/15/1987"); INSERT INTO birthdays (name, birthday) VALUES("Lucas", "07/21/1996"); INSERT INTO birthdays (name, birthday) VALUES("Alexa", "12/31/1988");
উপরের চারটি লাইন টেবিল তৈরি করে “জন্মদিন” "নাম" এবং "জন্মদিন" কলাম সহ। বাকি ডাটাবেসের মধ্যে মান সন্নিবেশ করান. আমরা যখন আমাদের ক্যোয়ারী স্টেটমেন্ট তৈরি করি তখন আমরা এটি ব্যবহার করি।
যদি আমরা আমাদের টেবিলে একটি মৌলিক ক্যোয়ারী চালাই, তাহলে ক্যোয়ারী স্টেটমেন্ট এবং ফলাফলগুলি এইরকম দেখাবে:
SELECT name, birthday FROM birthdays;
ফলাফল:
নাম | জন্মদিন |
ক্রিস | 11/20/1993 |
ডানকান | 01/15/1987 |
লুকাস | 07/21/1996 |
আলেক্সা | 12/31/1988 |
কোয়েরি বিবৃতি তৈরি করা
CONCAT()
CONCAT()
ফাংশন একটি স্ট্রিং এ আর্গুমেন্ট যোগ করার পরে ফলাফল প্রদান করে। অন্তত একটি যুক্তি আছে, কিন্তু একাধিক ফাংশন থাকতে পারে। ফাংশনে আর্গুমেন্ট নিম্নলিখিত যে কোনো একটি হতে পারে:
- বাইনারী স্ট্রিং – যদি আর্গুমেন্টের যেকোন একটি বাইনারি স্ট্রিং হয়, তাহলে রিটার্ন মান হল একটি বাইনারি স্ট্রিং।
- ননবাইনারী স্ট্রিং - একটি সাধারণ স্ট্রিং মান। যদি সমস্ত আর্গুমেন্ট অবাইনারি স্ট্রিং মান হয়,
CONCAT()
একটি ননবাইনারি স্ট্রিং মান প্রদান করে।
- সংখ্যাসূচক - যদি একটি ইনপুট একটি সংখ্যাসূচক প্রকারের হয়, তবে এটি অন্য আর্গুমেন্টের সাথে যুক্ত হওয়ার আগে এটি একটি ননবাইনারি স্ট্রিং-এ জোর করে দেওয়া হয়।
- শূন্য৷ - যদি NULL মান থাকে তবে সেই মানগুলিকে উপেক্ষা করা হয়।
আনুষ্ঠানিক সিনট্যাক্স নিম্নরূপ:
81% অংশগ্রহণকারী বলেছেন যে তারা বুটক্যাম্পে যোগ দেওয়ার পরে তাদের প্রযুক্তিগত কাজের সম্ভাবনা সম্পর্কে আরও আত্মবিশ্বাসী বোধ করেছেন। আজই একটি বুটক্যাম্পের সাথে মিলিত হন৷
৷গড় বুটক্যাম্প গ্র্যাড একটি বুটক্যাম্প শুরু করা থেকে শুরু করে তাদের প্রথম চাকরি খোঁজা পর্যন্ত ক্যারিয়ারের পরিবর্তনে ছয় মাসেরও কম সময় কাটিয়েছে।
CONCAT( <str value 1>, <str value 2>, [ … <str value N> ]);
এটি একটি ফাংশন নির্দেশ করতে আমরা একজোড়া বন্ধনী সহ CONCAT কীওয়ার্ড ব্যবহার করি। বন্ধনীর ভিতরে রয়েছে N ইনপুট স্ট্রিং। মাইএসকিউএল ব্যবহার করে এটি দেখা যাচ্ছে:
SELECT CONCAT(name, " ", birthday) AS Result FROM birthdays;
আমরা নাম, একটি স্পেস অক্ষর এবং জন্মদিনের সংমিশ্রণ থেকে রিটার্ন মানটিকে "নির্বাচন" করি এবং এটিকে "ফলাফল" নাম নির্ধারণ করি।
এই প্রশ্নের ফলাফল হল:
ফলাফল |
ক্রিস 11/20/1993 |
ডানকান 01/15/1987 |
লুকাস 07/21/1996 |
Alexa 12/31/1988 |
এই ফলাফলটি মূল ক্যোয়ারী স্টেটমেন্টের সাথে তুলনা করুন যা আমরা বিল্ডিং দ্য স্কিমা বিভাগে পরীক্ষা করেছি। কিভাবে এটা ভিন্ন? প্রদত্ত উপায়ের বিপরীতে এইভাবে ডেটা সেট করার সুবিধা কী হবে?
অগত্যা কোন সঠিক বা ভুল উত্তর নেই। আপনি কীভাবে আপনার অ্যাপ্লিকেশনে এই ডেটার উপর নির্ভর করেন তা সবই।
CONCAT_WS()
CONCAT_WS()
ফাংশন CONCAT()
এর মতই ফাংশন, তবে, একটি প্রয়োজনীয় প্রথম আর্গুমেন্ট আছে যা মূল CONCAT()
-এ নেই ফাংশন এই আর্গুমেন্ট হল বিভাজক যা ফাংশনের বাকি আর্গুমেন্টগুলির মধ্যে যায়। CONCAT()
এর বাকি নিয়ম আবেদন
আনুষ্ঠানিক সিনট্যাক্স নিম্নরূপ:
CONCAT_WS(<separator>, <str value 1>, <str value 2>, [ … <str value N> ]);
আমরা CONCAT_WS()
ব্যবহার করি এটি একটি ফাংশন নির্দেশ করতে এক জোড়া বন্ধনী সহ কীওয়ার্ড। বন্ধনীর ভিতরের প্রথম আর্গুমেন্ট হল বিভাজক যা প্রতিটি ইনপুট স্ট্রিং এর মধ্যে যায়। আর্গুমেন্ট বাকি আমরা একসঙ্গে যোগদান স্ট্রিং হয়. এখানে MySQL ব্যবহার করে দেখুন:
SELECT CONCAT_WS(", ", name, birthday) AS Result FROM birthdays;
ফলাফল হল অন্যান্য আর্গুমেন্টের মধ্যে প্রথম আর্গুমেন্টের সাথে স্ট্রিং কনক্যাটেনেশন।
ফলাফল |
ক্রিস, 11/20/1993 |
ডানকান 01/15/1987 |
লুকাস 07/21/1996 |
Alexa 12/31/1988 |
CONCAT()
এর মত ফাংশন, CONCAT_WS()
ফাংশন শুধুমাত্র একটি কলাম প্রদান করে, যার নাম ফলাফল, যেখানে মানটি বিভাজক অক্ষরের সাথে সংযুক্ত ইনপুট স্ট্রিং(গুলি)।
উপসংহার
এই নিবন্ধে, আমরা SQL CONCAT()
কভার করি এবং CONCAT_WS()
ফাংশন যেমন তারা MySQL-এ এর ব্যবহারের সাথে সম্পর্কিত। সচেতন থাকুন অন্যান্য রিলেশনাল ডাটাবেস ব্যবহার করার সময় সিনট্যাক্সে ছোটখাটো পার্থক্য থাকতে পারে কারণ তাদের SQL এর নিজস্ব স্বাদ থাকতে পারে। ফাংশনের ধারণা একই, তবে এটি ভিন্নভাবে শব্দযুক্ত হতে পারে।