Với câu truy vấn MySQL sau, chúng ta có thể lấy ngày đầu tiên của tháng hiện tại:
mysql> SELECT DATE_SUB(LAST_DAY(NOW()), INTERVAL DAY(LAST_DAY(NOW())) - 1 DAY) AS 'FIRST DAY OF CURRENT MONTH'; +----------------------------+ | FIRST DAY OF CURRENT MONTH | +----------------------------+ | 2017-10-01 | +----------------------------+ 1 row in set (0.00 sec)
Cơ chế: LAST_DAY(NOW()) lấy ngày cuối tháng, DAY(...) lấy số ngày của tháng đó, trừ đi 1 rồi dùng DATE_SUB để lùi về ngày đầu tiên. Cách đơn giản hơn: DATE_FORMAT(NOW(), '%Y-%m-01').