Lấy ngày hiện tại trong sql

Kiểu dữ liệu ngày tháng (date/time) không giống các giao diện tài liệu nguyên ổn thuỷ thường thì yêu cầu thường gây khó khăn mang đến chúng ta thiết kế viên tốt nhất là khi làm việc với những câu lệnh mysql, vào bài viết này mình sẽ tổng hòa hợp cùng lí giải các bạn thao tác làm việc với vẻ bên ngoài date/time trong mysql


*

1. Kiểu dữ liệu ngày Squốc lộ.

You watching: Lấy ngày hiện tại trong sql

MySQL gồm những loại tài liệu sau cho một ngày hoặc giá trị ngày / thời hạn trong đại lý dữ liệu:

Date - format YYYY-MM-DDDATETIME - format: YYYY-MM-DD HH:MI:SSTIMESTAMP - format: YYYY-MM-DD HH:MI:SSYEAR - format YYYY hoặc YY

Sql server có các loại dữ liệu sau cho một ngày hoặc quý giá ngày / thời hạn vào cửa hàng dữ liệu:

DATE - format YYYY-MM-DDDATETIME - format: YYYY-MM-DD HH:MI:SSSMALLDATETIME - format: YYYY-MM-DD HH:MI:SSTIMESTAMP - format: một số ít duy nhất

2. Các funtion thường xuyên sử dụng.

TênChức năng
DATE()Trả về ngày từ biểu thức datetime
CURDATE()Trả về ngày ngày nay của máy tính
YEAR()Trả về năm của ngày vẫn chỉ định
MONTH()Trả về tháng của ngày vẫn chỉ định
DAY()Trả về ngày của ngày được chỉ định
TIME()Trả về giờ đồng hồ của ngày được chỉ định
DATE()Trả về ngày từ biểu thức datetime
DATE_ADD()Trả về ngày tự biểu thức datetime
DATEDIFF()Trả về ngày trường đoản cú biểu thức datetime
DATE_SUB()Trả về ngày tự biểu thức datetime
NOW()Trả về thời gian hiện nay tại
DAYOFWEEK()Trả về ngày của tuần
DAYNAME()Trả về tên ngày
MONTHNAME()Trả về tên tháng
STR_TO_DATE()Format chuỗi về ngày

....... Dường như còn không ít hàm không giống tuy vậy bản thân xin phxay trình diễn một số trong những hàm cơ mà chúng ta hay sử dụng nlỗi bên trên.

3. Tính toán

3.1 Còn bao nhiêu ngày nữa ?

Câu hỏi này chắc hẳn rằng chạy qua đầu của chúng ta ít nhất là mặt hàng tuần còn nếu như không nói là mặt hàng ngày

MySquốc lộ giải quyết và xử lý các loại thắc mắc này cùng với hàm DATEDIFF()

DATEDIFF() trừ nhị giá trị ngày cùng trả về số ngày giữa bọn chúng.

SELECT DATEDIFF(CURDATE(), birthday) AS days_difference FROM friends LIMIT 5;với hiệu quả là phía trên :

*

sau khoản thời gian mang được số ngày, bạn có nhu cầu xem người đó năm nay bao nhiêu tuổi chúng ta chỉ cần phân tách mang lại 365 ngày là ra hiệu quả số tuổi.

SELECT ROUND(DATEDIFF(CURDATE(), birthday) / 365, 0) AS years FROM friends LIMIT 5;

*

Hàm ROUND()tân oán học tập được sử dụng để gia công tròn công dụng thành một vài nguyên.

Bạn cũng có thể tính toán tuổi của friends bằng phương pháp sau

SELECT first_name, last_name, (YEAR(CURDATE()) - YEAR(birthday)) - (RIGHT(CURDATE(), 5) Giải yêu thích 1 chút ít :

Hàm CURDATE () trả về ngày bây giờ của dòng sản phẩm tính, hàm YEAR () trả về năm của ngày vẫn chỉ định và hướng dẫn, hàm MONTH () trả về mon của ngày vẫn hướng đẫn, hàm DAY () trả về ngày của ngày được hướng đẫn Hàm RIGHT () trả về số lượng ký từ bỏ như được chỉ định trong hàm từ bỏ chuỗi hoặc ngày sẽ cho. Phần của biểu thức so sánh các trả về từ hàm RIGHT () ước tính 1 hoặc 0. kết quả là :

*

Sau Khi select được số tuổi của những friend trong khoa trong danh mục frikết thúc của chính bản thân mình bạn có nhu cầu sắp xếp số tuổi theo trang bị từ bỏ giảm dần dần hoặc tăng dần đều thì chúng ta chỉ cần

ORDER BY age ASC; //bố trí tăng dầnORDER BY age DESC; // thu xếp giảm dần dần vào thời điểm cuối mệnh đề trên.

3.2 Chúng ta ko bao giờ quên sinh nhật buộc phải không?

Giả sử chúng ta ao ước biết ngày trong tuần là sinh nhật của một fan bạn. Có lẽ Shop chúng tôi chú ý vào friends bàn hàng tuần và biết được ai sẽ sinch nhật, nếu tất cả, với ghi chụ ngày hôm nay là ngày gì.

Các DAYOFWEEK()hàm trả về một quý giá số cho tđam mê số quý hiếm tháng ngày. Những số lượng kia đại diện thay mặt cho:

1 = Chủ nhật,

2 = Thứ đọng hai, v.v.

Chúng ta hoàn toàn có thể đặt một CASE biểu thức nhằm áp dụng ở chỗ này.

See more: Top 5 Phần Mềm Chuyển Video Sang Mp3 Tốt Nhất, Cách Chuyển Video Youtube Sang Mp3

SELECT first_name, last_name, birthday, CASE WHEN DAYOFWEEK(birthday) = "1" THEN "Sunday" WHEN DAYOFWEEK(birthday) = "2" THEN "Monday" WHEN DAYOFWEEK(birthday) = "3" THEN "Tuesday" WHEN DAYOFWEEK(birthday) = "4" THEN "Wednesday" WHEN DAYOFWEEK(birthday) = "5" THEN "Thursday" WHEN DAYOFWEEK(birthday) = "6" THEN "Friday" WHEN DAYOFWEEK(birthday) = "7" THEN "Saturday" ELSE "not a day of week" END AS day_of_weekFROM friendsLIMIT 10

Awesome! Điều kia vận động tuyệt vời nhất. Nhưng nó khá lâu năm để mang tên 1 ngày trong tuần.

MySquốc lộ gồm một function DAYNAME() phù hợp mang đến vấn đề này. Đơn giản chỉ cần hỗ trợ mang đến nó một giá trị ngày và bạn là xoàn.

SELECT first_name, last_name, DAYNAME(birthday)FROM friendsLIMIT 10

3.3 Xử lí tháng

Các hàm MONTH() được áp dụng để mang những quý giá số theo tháng xuất phát điểm từ một quý hiếm ngày tháng cung ứng. Như trong 1 nghĩa (mon 1) và 12 cho (tháng 12) với mọi đồ vật không giống trọng tâm.

SELECT (MONTH(birthday)) AS month, COUNT(*) AS number_of_birthdaysFROM friendsGROUPhường BY monthORDER BY month ASCTrong truy tìm vấn này, hàm COUNT() cho số người có ngày sinh trong những mon :

*

Vậy liệu bạn có thể rước tên của tháng ko ? câu trả lởi chắc hẳn rằng là gồm rồi

Sử dụng hàm MONTHNAME(), mang tên của Tháng thực tiễn từ bỏ quý giá ngày đã qua, so với số Tháng qua MONTH().

SELECT DISTINCT (MONTHNAME(birthday)) AS month, COUNT(*) AS number_of_birthdaysFROM friendsGROUPhường BY monthKết quả

*

3.4 Xử lí ngày

lúc chúng ta bao gồm thêm một người các bạn bắt đầu, chúng ta hí hửng nhập biết tin fan chúng ta ấy vào Nhưng, ngày sinh nhật làm việc dạng chuỗi nhỏng 'ngày 10mon 08 năm 2017'.

SELECT STR_TO_DATE("August 10 2017", "%M %d %Y")

*

Giải ưng ý một chút nào

%M %d,%Y được format là %M - Tên mon. %d - Số ngày trong tháng. %Y - 4 chữ số năm.

3.5 Ngày có mức giá trị NOT NULL

nhằm soát sổ nếu như quý hiếm ngày chưa hẳn là NULL.

SELECT first_name, last_name, birthdayFROM friendsWHERE birthday IS NOT NULL;Câu lệnh MySquốc lộ sinh sống bên trên vẫn thanh lọc các mặt hàng tất cả ngày birthday KHÔNG nên là NULL.

See more: Truyên Tranh Mạt Thế Phàm Nhân Chap 89 Next Chap 90, Mạt Thế Phàm Nhân Chap 89 Next Chap 90

3.5 Lấy ra phần nhiều ngày trong tầm ngày từ ngày... mang đến ngày ...
*

4. Kết luận

Thông qua các ví dụ thực tiễn trên, ước ao rất có thể góp họ tất cả chiếc nhìn thấy được rõ hơn với việc up load ngày tháng bằng câu lệnh Squốc lộ. Bài viết của mình vẫn còn nhiều thiếu sót hết sức ao ước nhận ra sự góp ý góp sức của chúng ta nhằm bài viết được hoàn thành xong hơn

Tài liệu tham khảo :

https://www.w3resource.com/mysql/advance-query-in-mysql/date-calculation.php

https://www.w3school.com https://codeburst.io/handy-mysql-date-functions-with-examples-93dbd79849c5