DATE() ফাংশন দিয়ে INTEGER (YYYYMMDD) কে DATE-এ কনভার্ট
MySQL-এ যদি তারিখ INT টাইপে YYYYMMDD ফরম্যাটে (যেমন 20190108) সংরক্ষিত থাকে, তবে DATE() ফাংশন সরাসরি তাকে ডেট অবজেক্টে রূপান্তর করতে পারে।
টেবিল ও ডেটা
mysql> CREATE TABLE DemoTable (Number INT); mysql> INSERT INTO DemoTable VALUES(20190108), (20161231), (20170411);
সব রেকর্ড
+----------+ | Number | +----------+ | 20190108 | | 20161231 | | 20170411 | +----------+
DATE() দিয়ে কনভার্ট
mysql> SELECT DATE(Number) FROM DemoTable;
+--------------+ | DATE(Number) | +--------------+ | 2019-01-08 | | 2016-12-31 | | 2017-04-11 | +--------------+
ব্যাখ্যা
- MySQL INTEGER কনটেক্সটে
YYYYMMDDবাYYMMDDফরম্যাটকে স্বয়ংক্রিয়ভাবে ডেট হিসেবে পার্স করে। - এটি
DATE(),CAST(Number AS DATE), বাSTR_TO_DATE(Number, '%Y%m%d')দিয়েও করা যায়। - যদি মান ভুল ফরম্যাটে থাকে (যেমন 20191345), তবে NULL রিটার্ন করবে।
সতর্কতা
এই ফিচার MySQL-স্পেসিফিক, অন্যান্য ডাটাবেসে (PostgreSQL, SQL Server) কাজ নাও করতে পারে। পোর্টেবিলিটির জন্য STR_TO_DATE বা অ্যাপ্লিকেশন লেভেলে পার্স করা ভালো।