কম্পিউটার

STR_TO_DATE() ফাংশনে আর্গুমেন্ট হিসাবে পাস করা তারিখের স্ট্রিং অনুযায়ী নির্দিষ্ট ফরম্যাট স্ট্রিং না হলে মাইএসকিউএল কী রিটার্ন করে?


যদি নির্দিষ্ট ফরম্যাট স্ট্রিং এবং তারিখ স্ট্রিং মেলে না তাহলে মাইএসকিউএল একটি সতর্কতা সহ আউটপুট হিসাবে NULL মান প্রদান করবে। একই −

বোঝার জন্য নিচে একটি উদাহরণ দেওয়া হল
mysql> Select STR_TO_DATE('20172810', '%Y,%d%m');
+------------------------------------+
| STR_TO_DATE('20172810', '%Y,%d%m') |
+------------------------------------+
| NULL                               |
+------------------------------------+
1 row in set, 1 warning (0.00 sec)

উপরের ক্যোয়ারীটি আউটপুট হিসাবে NULL প্রদান করে কারণ ফরম্যাট স্ট্রিংটিতে %Y এর পরে একটি কমা (,) আছে কিন্তু তারিখ স্ট্রিং-এ 2017 এর পরে কোনো কমা নেই৷

mysql> Show Warnings\G
*************************** 1. row ***************************
Level: Warning
Code: 1411
Message: Incorrect datetime value: '20172810' for function str_to_date
1 row in set (0.00 sec)

একইভাবে, তারিখের স্ট্রিং থেকে ফরম্যাট স্ট্রিংয়ে তারিখ ইউনিটের ক্রমকে আলাদা করার ক্ষেত্রে, MySQL উপরের মতই কাজ করবে। এটি বোঝার জন্য নীচে একটি উদাহরণ দেওয়া হল -

mysql> Select STR_TO_DATE('20172810', '%d%m%Y');
+-----------------------------------+
| STR_TO_DATE('20172810', '%d%m%Y') |
+-----------------------------------+
| NULL                              |
+-----------------------------------+
1 row in set, 1 warning (0.00 sec)

উপরের ক্যোয়ারীতে, ফর্ম্যাট স্ট্রিং-এ ইউনিটের ক্রম তারিখের স্ট্রিং-এ ইউনিটের ক্রম থেকে পরিবর্তিত হয়৷

mysql> Show Warnings\G
*************************** 1. row ***************************
Level: Warning
Code: 1411
Message: Incorrect datetime value: '20172810' for function str_to_date
1 row in set (0.00 sec)

  1. বিটের মান 1 হলে এবং প্রথম স্ট্রিংটি NULL হলে MySQL MAKE_SET() ফাংশন কী রিটার্ন করে?

  2. মাইএসকিউএল এর সাথে সঠিক বিন্যাসে তারিখকে রূপান্তর করবেন না?

  3. তারিখ বিন্যাস MySQL STR_TO_DATE দিয়ে প্রতিস্থাপন করুন

  4. MySQL-এ DATE_FORMAT() এবং STR_TO_DATE() দিয়ে তারিখ ফর্ম্যাট করুন