প্রদত্ত মানটি একটি স্ট্রিং কিনা তা পরীক্ষা করার জন্য, আমরা cast() ফাংশন ব্যবহার করি। যদি মানটি সাংখ্যিক না হয় তবে এটি 0 প্রদান করে, অন্যথায় এটি সাংখ্যিক মান প্রদান করবে। এইভাবে, আমরা মানটি একটি পূর্ণসংখ্যা কিনা তা পরীক্ষা করতে পারি।
কেস 1 - পূর্ণসংখ্যা সহ একটি স্ট্রিং পরীক্ষা করা হচ্ছে
mysql> কাস্ট নির্বাচন করুন('John123456' as unsigned);
নিম্নলিখিত আউটপুট. এটি দেখায় যে মানটি সাংখ্যিক নয়, তাই 0 ফেরত দেওয়া হয়।
+--------------------------------+| cast('John123456' as Unsigned) |+--------------------------------+| 0 |+--------------------------------+1 সারি সেটে, 1 সতর্কতা (0.00 সেকেন্ড)
কেস 2 - শুধুমাত্র পূর্ণসংখ্যার মান পরীক্ষা করা হচ্ছে
mysql> কাস্ট নির্বাচন করুন('123456' হিসাবে আনসাইনড);
নিম্নলিখিত আউটপুট. এটি দেখায় যে মানটি সাংখ্যিক, তাই মানটি নিজেই ফেরত দেওয়া হয়।
<প্রে>+-------------------------------+| cast('123456' হিসাবে আনসাইনড) |+-------------------------------+| 123456 |+----------------------------+1 সারি সেটে (0.00 সেকেন্ড)এই যুক্তি ফ্লোটের জন্যও ভাল কাজ করে।
নিম্নে ফ্লোট মান সহ ক্যোয়ারী।
mysql> কাস্ট নির্বাচন করুন('78.90' হিসাবে আনসাইনড);
এখানে আউটপুট।
<প্রে>+----------------------------+| CAST('78.90' হিসাবে আনসাইনড) |+-----------------------------------------+| 78 |+---------------------------- সেটে +1 সারি, 1 সতর্কতা (0.00 সেকেন্ড)নিয়মিত অপারেটরের সাথে বিকল্প যুক্তি
এটি যেকোনো মান, এমনকি ফ্লোটের জন্য সমস্ত অবস্থার জন্য কাজ করে।
আসুন একটি নতুন টেবিল তৈরি করি৷
mysql> টেবিল CheckingIntegerDemo তৈরি করুন -> ( -> মান varchar(200) -> );কোয়েরি ঠিক আছে, 0 সারি প্রভাবিত (0.88 সেকেন্ড)
টেবিলে রেকর্ড সন্নিবেশ করা হচ্ছে।
mysql> CheckingIntegerDemo মানগুলিতে সন্নিবেশ করুন('John123456');কোয়েরি ঠিক আছে, 1 সারি প্রভাবিত (0.10 সেকেন্ড)mysql> CheckingIntegerDemo মানগুলিতে ঢোকান CheckingIntegerDemo মান ('123.456'); কোয়েরি ঠিক আছে, 1 সারি প্রভাবিত (0.16 সেকেন্ড)
সমস্ত রেকর্ড প্রদর্শন করতে।
mysql> CheckingIntegerDemo থেকে *নির্বাচন করুন;
এখানে আউটপুট।
<প্রে>+------------+| মান |+------------+| জন123456 || 123456 || 123.456 |+------------+3 সারি সেটে (0.00 সেকেন্ডউপরের আউটপুটে, শুধুমাত্র 123456 একটি পূর্ণসংখ্যা এবং বাকিগুলি নয়৷
মানটি একটি পূর্ণসংখ্যা কিনা তা পরীক্ষা করার জন্য সিনট্যাক্স৷
yourTableName থেকে yourColumnName নির্বাচন করুন যেখানে yourColumnName REGEXP '^-?[0-9]+$';
প্রশ্ন যেখানে আমরা রেগুলার এক্সপ্রেশন ব্যবহার করেছি। এটি শুধুমাত্র পূর্ণসংখ্যার মান আউটপুট করবে।
mysql> CheckingIntegerDemo থেকে মান নির্বাচন করুন যেখানে মান REGEXP '^-?[0-9]+$';
নিচের আউটপুট।
<প্রে>+---------+| মান |+---------+| 123456 |+---------+1 সারি সেটে (0.00 সেকেন্ড)