আপনি MySQL-এ একটি কমা-বিভাজিত স্ট্রিং যোগ করার জন্য একটি কাস্টম ফাংশন তৈরি করতে পারেন৷ প্রথমে একটি টেবিল তৈরি করা যাক। এখানে, আমাদের একটি varchar কলাম আছে, যেখানে আমরা স্ট্রিং আকারে সংখ্যা যোগ করব -
mysql> টেবিল তৈরি করুন DemoTable -> ( -> ListOfValues varchar(50) -> );কোয়েরি ঠিক আছে, 0 সারি প্রভাবিত (0.56 সেকেন্ড)
সন্নিবেশ কমান্ড −
ব্যবহার করে টেবিলে কিছু রেকর্ড সন্নিবেশ করুনmysql> DemoTable মান ('20,10,40,50,60'); কোয়েরি ঠিক আছে, 1 সারি প্রভাবিত (0.14 সেকেন্ড)
সিলেক্ট স্টেটমেন্ট -
ব্যবহার করে টেবিল থেকে সমস্ত রেকর্ড প্রদর্শন করুনmysql> DemoTable থেকে *নির্বাচন করুন;
এটি নিম্নলিখিত আউটপুট −
তৈরি করবে+----------------+| ListOfValues |+----------------+| 20,10,40,50,60 |+----------------+1 সারি সেটে (0.00 সেকেন্ড)
এখানে একটি ফাংশন −
তৈরি করার জন্য প্রশ্ন রয়েছেmysql> DELIMITER ??mysql> ফাংশন totalSumInCommaSeparatedString(ইনপুট varchar(50)) তৈরি করুন -> int প্রদান করে -> deterministic -> no sql -> begin -> totalSum int ডিফল্ট 0 ঘোষণা করুন; -> যখন instr(ইনপুট, ",")> 0 do -> সেট totalSum =totalSum + substring_index(ইনপুট, ",", 1); -> সেট ইনপুট =mid(ইনপুট, instr(ইনপুট, ",") + 1); -> শেষ সময়; -> মোটসাম + ইনপুট ফেরত; -> শেষ ?? কোয়েরি ঠিক আছে, 0 সারি প্রভাবিত (0.17 সেকেন্ড) mysql> DELIMITER;
আসুন MySQL-এ একটি কমা-বিভাজিত স্ট্রিং পেতে উপরের ফাংশনটি পরীক্ষা করি -
mysql> DemoTable থেকে TotalSum হিসাবে totalSumInCommaSeparatedString(ListOfValues) নির্বাচন করুন;
এটি নিম্নলিখিত আউটপুট −
তৈরি করবে <প্রে>+---------+| মোট যোগফল |+---------+| 180 |+---------+1 সারি সেটে (0.00 সেকেন্ড)