কম্পিউটার টিউটোরিয়াল

MySQL-এ DAYNAME() ফাংশন দিয়ে তারিখ থেকে দিনের নাম বের করা

DATE বা DATETIME কলাম থেকে সপ্তাহের দিনের নাম (Monday, Tuesday...) বের করতে MySQL-এ বিল্ট-ইন DAYNAME() ফাংশন ব্যবহার করা হয়।

টেবিল ও ডেটা তৈরি

mysql> CREATE TABLE DemoTable1954 (ShippingDate DATE);

mysql> INSERT INTO DemoTable1954 VALUES
    ('2019-12-15'), ('2018-04-11'), ('2019-01-31'), ('2016-10-01');

ডেটা যাচাই

mysql> SELECT * FROM DemoTable1954;
+--------------+
| ShippingDate |
+--------------+
| 2019-12-15   |
| 2018-04-11   |
| 2019-01-31   |
| 2016-10-01   |
+--------------+

কোয়েরি: দিনের নাম বের করা

mysql> SELECT DAYNAME(ShippingDate) AS Day
    FROM DemoTable1954;

আউটপুট:

+-----------+
| Day       |
+-----------+
| Sunday    |
| Wednesday |
| Thursday  |
| Saturday  |
+-----------+

সম্পর্কিত ডেট/টাইম ফাংশন

ফাংশনরিটার্নউদাহরণ (2019-12-15)
DAYNAME(date)দিনের নামSunday
DAYOFWEEK(date)দিনের নম্বর (১=রবিবার)1
WEEKDAY(date)দিনের নম্বর (০=সোমবার)6
DAYOFMONTH(date)মাসের তারিখ15
MONTHNAME(date)মাসের নামDecember
QUARTER(date)কোয়ার্টার (১-৪)4

লোকালাইজেশন (বাংলা দিনের নাম)

MySQL-এ SET lc_time_names = 'bn_BD'; দিয়ে বাঙালি দিনের নাম পাওয়া যায় (সার্ভার লোকেল ইনস্টল থাকতে হয়)।

SET lc_time_names = 'bn_BD';
SELECT DAYNAME('2019-12-15'); -- রবিবার

পারফরম্যান্স টিপ

  • WHERE DAYNAME(date) = 'Sunday' লিখলে ইন্ডেক্স ব্যবহার হয় না।
  • বদলে: WHERE DAYOFWEEK(date) = 1 (ইন্টিজার তুলনা, ইন্ডেক্স ব্যবহার করতে পারে ফাংশনাল ইন্ডেক্স সহ)।
  1. MySQL-এ CURDATE() ব্যবহার করে ডেটা লিস্ট থেকে আজকের রেকর্ড বের করা

  2. MySQL-এ GROUP BY ব্যবহার করে ডুপ্লিকেট রেকর্ডের কলাম যোগফল বের করা

  3. MySQL-এ DAYNAME() ব্যবহার করে জন্মতারিখ থেকে বারটি বের করা

  4. MySQL-এ DATE_FORMAT() দিয়ে DATETIME থেকে শুধু তারিখ (DD.MM.YYYY) বের করা