কম্পিউটার

মাইএসকিউএল-এ একটি মান একটি পূর্ণসংখ্যা কিনা তা আমি কিভাবে পরীক্ষা করব?


প্রদত্ত মানটি একটি স্ট্রিং কিনা তা পরীক্ষা করার জন্য, আমরা 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 সেকেন্ড)
  1. মাইএসকিউএল-এ একটি কলাম খালি বা শূন্য কিনা তা আমি কীভাবে পরীক্ষা করব?

  2. কিভাবে আমি MySQL এ একটি টেবিলে একটি চেক সীমাবদ্ধতা যোগ করব?

  3. মাইএসকিউএল-এ একটি কলামের মানের সাথে একটি স্ট্রিং কীভাবে প্রিপেন্ড করবেন?

  4. মাইএসকিউএল-এ কোন ডাটাবেস নির্বাচন করা হয়েছে তা কীভাবে পরীক্ষা করবেন?