Lấy Ngày Tháng Năm Trong Sql

  -  

Kiểu dữ liệu ngày tháng (date/time) rất khác những kiểu dữ liệu nguyên thuỷ thông thường nên thường xuyên gây khó khăn cho chúng ta lập trình viên độc nhất là khi thao tác làm việc với các câu lệnh mysql, trong nội dung bài viết này mình vẫn tổng hợp cùng hướng dẫn chúng ta làm việc với hình dáng date/time trong mysql


*

1. Kiểu tài liệu ngày SQL.Bạn đang xem: đem ngày bây giờ trong sql

MySQL có những loại dữ liệu sau cho một ngày hoặc quý giá ngày / thời gian trong cửa hàng 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 cực hiếm ngày / thời gian trong các đại lý 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. Những funtion thường sử dụng.

Bạn đang xem: Lấy ngày tháng năm trong sql

TênChức năng
DATE()Trả về ngày từ biểu thức datetime
CURDATE()Trả về ngày hiện tại tại của sản phẩm tính
YEAR()Trả về năm của ngày đã chỉ định
MONTH()Trả về mon của ngày đang chỉ định
DAY()Trả về ngày của ngày được chỉ định
TIME()Trả về tiếng 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ừ bỏ biểu thức datetime
DATEDIFF()Trả về ngày từ bỏ 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 tại
DAYOFWEEK()Trả về ngày của tuần
DAYNAME()Trả về thương hiệu ngày
MONTHNAME()Trả về thương hiệu tháng
STR_TO_DATE()Format chuỗi về ngày

....... Dường như còn rất nhiều hàm khác mà lại mình xin phép trình bày một vài hàm mà bọn họ hay thực hiện như trên.

3. Tính toán

3.1 Còn từng nào ngày nữa ?

Câu hỏi này chắc chắn chạy qua đầu của họ ít tuyệt nhất là hàng tuần còn nếu như không nói là hàng ngày

MySQL giải quyết và xử lý loại câu hỏi này cùng với hàm DATEDIFF()

DATEDIFF() trừ hai quý giá ngày và trả về số ngày giữa chúng.

SELECT DATEDIFF(CURDATE(), birthday) AS days_difference FROM friends LIMIT 5;và tác dụng là đây :

*

sau khi rước được số ngày, bạn muốn xem tín đồ đó trong năm này bao nhiêu tuổi bạn chỉ cần chia mang lại 365 ngày là ra công dụng số tuổi.

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

*

Hàm ROUND()toán học được sử dụng để làm tròn công dụng thành một trong những 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 thích hợp 1 chút :

Hàm CURDATE () trả về ngày hiện nay tại của máy tính, hàm YEAR () trả về năm của ngày vẫn chỉ định, hàm MONTH () trả về tháng của ngày đã chỉ định, hàm DAY () trả về ngày của ngày được chỉ định và hướng dẫn Hàm RIGHT () trả về con số ký từ bỏ như được chỉ định trong hàm từ chuỗi hoặc ngày sẽ cho. Phần của biểu thức so sánh các trả về trường đoản cú hàm RIGHT () ước tính 1 hoặc 0. Tác dụng là :


*

Sau khi select được số tuổi của các friend vào khoa trong danh sách friend của mình bạn muốn sắp xếp số tuổi theo thiết bị tự bớt dần hoặc tăng cao thì họ chỉ cần

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

3.2 bọn họ không bao giờ quên sinh nhật yêu cầu không?

Giả sử chúng ta muốn biết ngày trong tuần là sinh nhật của một bạn bạn. Chắc rằng chúng tôi chú ý vào friends bàn hàng tuần và hiểu rằng ai sẽ sinh nhật, giả dụ có, và ghi chú ngày từ bây giờ là ngày gì.

Các DAYOFWEEK()hàm trả về một quý giá số mang lại tham số quý giá ngày tháng. Những con số đó đại diện cho:

1 = nhà nhật,

2 = đồ vật hai, v.v.

Xem thêm: Viết Phương Trình Điện Li K2S, Na2Hpo4, Viết Phương Trình Điện Li Của Các Chất Sau

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" kết thúc AS day_of_weekFROM friendsLIMIT 10

Awesome! Điều đó vận động hoàn hảo. Tuy nhiên nó khá dài để mang tên 1 ngày trong tuần.

MySQL tất cả một function DAYNAME() cân xứng cho việc này. Đơn giản chỉ việc cung cấp cho cho nó một giá trị ngày và bạn là vàng.

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

3.3 cập nhật tháng

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

SELECT (MONTH(birthday)) AS month, COUNT(*) AS number_of_birthdaysFROM friendsGROUP BY monthORDER BY month ASCTrong tróc nã vấn này, hàm COUNT() mang đến số người dân có ngày sinh trong mỗi tháng :


*

Vậy liệu chúng ta cũng có thể lấy tên của tháng ko ? câu trả lởi chắc chắn là là bao gồm rồi

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

SELECT DISTINCT (MONTHNAME(birthday)) AS month, COUNT(*) AS number_of_birthdaysFROM friendsGROUP BY monthKết quả

3.4 up date ngày

Khi các bạn có thêm một người các bạn mới, chúng ta vui vẻ nhập thông tin người bạn ấy vào Nhưng, ngày sinh nhật sinh sống dạng chuỗi như 'ngày 10tháng 08 năm 2017'.

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

Giải thích một chút ít nào

%M %d,%Y được format là %M - thương hiệu tháng. %d - Số ngày vào tháng. %Y - 4 chữ số năm.

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

để kiểm soát nếu quý hiếm ngày chưa phải là NULL.

Xem thêm: Mức Học Phí 1 Năm Trường Đại Học Công Nghệ Tphcm (Hutech) Là Bao Nhiêu? ?

3.5 lấy ra những ngày trong tầm ngày từ bỏ ngày... Cho ngày ...

4. Kết luận

Thông qua những ví dụ thực tế trên, mong có thể giúp họ có cái nhìn thấy được rõ hơn với việc xử lí ngày tháng bởi câu lệnh SQL. Bài viết của mình vẫn còn đó nhiều thiếu thốn sót rất hy vọng nhận được sự góp ý góp phần của chúng ta để nội dung bài viết được hoàn thiện 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