Thứ Tư, 26 tháng 7, 2023

Cách lấy ngày hiện tại trong MySQL

Trong bài này mình sẽ hướng dẫn cách lấy ngày giờ hiện tại trong MySQL bằng cách sử dụng các hàm build-in function có sẵn trong thư viện của MySQL.

Mục lục

  • 1. Lấy ngày hiện tại bằng build-in function
    • CURDATE()
    • Kế hợp DATE() và NOW()
  • 2. Tự tạo Store Procedure lấy ngày hiện tại

1. Lấy ngày hiện tại bằng build-in function

Thỉnh thoảng bạn muốn lấy ngày giờ hiện tại trong MySQL để phục vụ cho mội tính năng nào đó của phần mềm. Ví dụ bạn làm web tin tức là có tính năng hẹn giờ đăng bài, bạn sẽ truy vấn những bài nào có ngày đăng bé hơn hoặc bằng ngày hiện tai.

Lúc này một là bạn truyền giá trị ngày hiện tại vào, hai là dùng các hàm lấy ngày giờ trong MySQL.

CURDATE()

Hàm CURDATE() sẽ trả vè ngày hiện tại trong hệ thống server. Hãy xem ví dụ dưới đây.

Bài viết này được đăng tại [tranvanbinh.vn]

1
2
3
4
5
6
7
mysql> SELECT CURDATE() today;
+------------+
| today      |
+------------+
| 2017-07-08 |
+------------+
1 row in set (0.00 sec)

Hoặc bạn có thể sử dụng hàm now() như cách dưới đây.

Kế hợp DATE() và NOW()

Bạn sẽ dùng hàm now() để lấy ngày giờ hiện tại định dạng milisecond kiểu số nguyên, sau đó đặt nó trong hàm date() để trả về ngày hiện tại.

1
2
3
4
5
6
7
mysql> SELECT DATE(NOW()) today;
+------------+
| today      |
+------------+
| 2017-07-08 |
+------------+
1 row in set (0.00 sec)

2. Tự tạo Store Procedure lấy ngày hiện tại

Thực tế thì cách này ít người sử dụng bởi nó tốn quá nhiều thời gian. Tuy nhiên nếu bạn thích vọc vạch MySQL thì hãy thử xem sao nhé.

Mình sẽ tạo một store procedure function có tên là today.

1
2
3
4
5
6
7
DELIMITER $$
CREATE FUNCTION today()
RETURNS DATE
BEGIN
RETURN CURDATE();
END$$
DELIMITER ;

Bây giờ bạn có thể thực hiện truy vấn và sử dụng hàm đó một cách bình thường.

1
2
3
4
5
6
7
mysql> SELECT today();
+------------+
| today()    |
+------------+
| 2017-07-08 |
+------------+
1 row in set (0.00 sec)

Lấy ngày mai thì sao, bạn chỉ việc cộng nó lên 1 day là được.

1
2
3
4
5
6
7
mysql> SELECT today() + interval 1 day as Tomorrow;
+------------+
| Tomorrow   |
+------------+
| 2017-07-09 |
+------------+
1 row in set (0.00 sec)

Tương tự, để lấy ngày hôm qua thì ta trừ nó đi 1 day.

1
2
3
4
5
6
7
mysql> SELECT today() - interval 1 day Yesterday;
+------------+
| Yesterday  |
+------------+
| 2017-07-07 |
+------------+
1 row in set (0.00 sec)

Như vậy là mình đã hướng dẫn xong cách lấy ngày hiện tại trong MySQL bằng hai cách, thứ nhất là sử dụng các hàm có sẵn như CURDATE, kết hợp DATE và NOW, thứ hai là sử dụng store function trong MySQL để tạo hàm sử dụng chung.

=============================
* KHOÁ HỌC ORACLE DATABASE A-Z ENTERPRISE trực tiếp từ tôi giúp bạn bước đầu trở thành những chuyên gia DBA, đủ kinh nghiệm đi thi chứng chỉ OA/OCP, đặc biệt là rất nhiều kinh nghiệm, bí kíp thực chiến trên các hệ thống Core tại VN chỉ sau 1 khoá học.
* CÁCH ĐĂNG KÝ: Gõ (.) hoặc để lại số điện thoại hoặc inbox https://m.me/tranvanbinh.vn hoặc Hotline/Zalo 090.29.12.888
* Chi tiết tham khảo:
https://bit.ly/oaz_w
=============================
KẾT NỐI VỚI CHUYÊN GIA TRẦN VĂN BÌNH:
📧 Mail: binhoracle@gmail.com
☎️ Mobile/Zalo: 0902912888
👨 Facebook: https://www.facebook.com/BinhOracleMaster
👨 Inbox Messenger: https://m.me/101036604657441 (profile)
👨 Fanpage: https://www.facebook.com/tranvanbinh.vn
👨 Inbox Fanpage: https://m.me/tranvanbinh.vn
👨👩 Group FB: https://www.facebook.com/groups/DBAVietNam
👨 Website: https://www.tranvanbinh.vn
👨 Blogger: https://tranvanbinhmaster.blogspot.com
🎬 Youtube: https://www.youtube.com/@binhguru
👨 Tiktok: https://www.tiktok.com/@binhguru
👨 Linkin: https://www.linkedin.com/in/binhoracle
👨 Twitter: https://twitter.com/binhguru
👨 Podcast: https://www.podbean.com/pu/pbblog-eskre-5f82d6
👨 Địa chỉ: Tòa nhà Sun Square - 21 Lê Đức Thọ - Phường Mỹ Đình 1 - Quận Nam Từ Liêm - TP.Hà Nội

=============================
oracle tutorial, học oracle database, Tự học Oracle, Tài liệu Oracle 12c tiếng Việt, Hướng dẫn sử dụng Oracle Database, Oracle SQL cơ bản, Oracle SQL là gì, Khóa học Oracle Hà Nội, Học chứng chỉ Oracle ở đầu, Khóa học Oracle online,sql tutorial, khóa học pl/sql tutorial, học dba, học dba ở việt nam, khóa học dba, khóa học dba sql, tài liệu học dba oracle, Khóa học Oracle online, học oracle sql, học oracle ở đâu tphcm, học oracle bắt đầu từ đâu, học oracle ở hà nội, oracle database tutorial, oracle database 12c, oracle database là gì, oracle database 11g, oracle download, oracle database 19c, oracle dba tutorial, oracle tunning, sql tunning , oracle 12c, oracle multitenant, Container Databases (CDB), Pluggable Databases (PDB), oracle cloud, oracle security, oracle fga, audit_trail,oracle RAC, ASM, oracle dataguard, oracle goldengate, mview, oracle exadata, oracle oca, oracle ocp, oracle ocm , oracle weblogic, postgresql tutorial, mysql tutorial, mariadb tutorial, ms sql server tutorial, nosql, mongodb tutorial, oci, cloud, middleware tutorial, hoc solaris tutorial, hoc linux tutorial, hoc aix tutorial, unix tutorial, securecrt, xshell, mobaxterm, putty

ĐỌC NHIỀU

Trần Văn Bình - Oracle Database Master