Ngày kiểm tra mysql

Giả sử chúng ta có bảng dữ liệu mẫu về một nhóm 6 người bạn trong SQL như sau (bảng dữ liệu này được sử dụng chung cho các tính toán bên dưới)

Bạn

Họ

Họ

Ngày sinh nhật

Lê Thị

thứ

1996-12-12

Vũ Thị

Nga

1997-11-17

Nguyễn Văn

C

2000-12-17

Phạm Văn

D

1998-10-11

Trần Đình

trọng

25-04-1997

Bùi Tiến

Dũng

28-02-1997

Giả sử ngày hiện tại là 2021-06-03. Để tính toán còn bao nhiêu ngày nữa, MySQL sử dụng hàm DATEDIFF() để trừ hai giá trị ngày và trả về số ngày giữa chúng. Giả sử chúng ta muốn tính toán xem ngày hiện tại so với ngày sinh của nhóm 6 người bạn ở mẫu dữ liệu trên là bao nhiêu thì bạn code như sau:

CHỌN DATEDIFF(CURDATE(), ngày sinh nhật) NHƯ ngày_difference

TỪ bạn bè

GIỚI HẠN 6;

Và đây là kết quả được trả về

Để biết nhóm 6 người này có số lần tuổi là bao nhiêu thì bạn chỉ cần chia cho 365 ngày là số tuổi của từng người. Code as after

CHỌN VÒNG(DATEDIFF(CURDATE(), ngày sinh) / 365, 0) AS năm

TỪ bạn bè

GIỚI HẠN 6;

Trong đó hàm học ROUND() được sử dụng để làm tròn kết quả thành 1 số nguyên

And here is results

Ngoài ra, bạn cũng có thể tính toán tuổi của bạn bè mình bằng cú pháp sau

LỰA CHỌN

họ,

họ,

(YEAR(CURDATE()) - YEAR(sinh nhật)) - (RIGHT(CURDATE(), 5) < RIGHT(sinh nhật, 5)) AS năm

TỪ

bạn

Đến đây mình giải thích 1 chút nhé. Lấy ví dụ như Thu có ngày sinh là 1996-12-12. Hàm CURDATE () được áp dụng Mục đích trả về ngày hiện tại của máy tính. The history is date 2021-06-03. Hàm YEAR () dùng để trả về năm của ngày đã định. Tại đây, (NĂM(CURDATE()) - YEAR(birthday)) sẽ trả về kết quả số năm chênh lệch giữa năm hiện tại và năm sinh của người được tính tuổi. Nghĩa là lấy 2021-1996 = 25.

Hàm RIGHT () dùng để trả về số lượng ký tự như đã được định sẵn trong hàm từ hoặc chuỗi ngày đã cho. Hàm phải có công thức RIGHT(chuoi, so_ky_tu). Số ký tự là 5, có nghĩa là giá trị mà hàm Right lấy ra là ngày và tháng của ngày hiện tại và ngày sinh nhật. Ở đây hàm RIGHT(CURDATE(), 5) lấy giá trị ra là 06-03 và hàm RIGHT< . Trong đó, phần của biểu thức so sánh các trả về từ hàm (birthday, 5) lấy ra giá trị là 12-12. Trong đó, 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. Nghĩa là 06-03 < 11-11 nên lấy giá trị 1. Từ đó SQL sẽ tính toán tuổi của Thu là 25-1=24 tuổi.

Và đây là kết quả trả về

Sau khi tính toán số tuổi của bạn bè mình, bạn có thể sắp xếp lại trong danh sách danh sách bạn bè của mình theo thứ tự số tuổi tăng dần hoặc giảm dần bằng cách thêm các trường sau đây vào cuối định mệnh ở trên

THỨ TỰ THEO tuổi ASC;

THỨ TỰ THEO TUỔI DESC;

Tính toán ngày sinh nhật

Khi tính toán và lý lịch tháng bằng câu lệnh SQL, bạn có thể tính toán xem xử lý trong tuần có ngày sinh nhật nào của . And the con số đại diện cho. DAYOFWEEK() là hàm trả về một giá trị số cho tham số giá trị ngày tháng. Và những con số đó đại diện cho:

1 = Chủ nhật,

2 = Thứ hai, v. v

Ở đây bạn có thể đặt 1 trường hợp biểu thức để tính toán như sau

LỰA CHỌN

họ,

họ,

ngày sinh nhật,

TRƯỜNG HỢP

KHI DAYOFWEEK(sinh nhật) = '1' THÌ 'Chủ nhật'

KHI DAYOFWEEK(sinh nhật) = '2' THÌ 'Thứ Hai'

KHI DAYOFWEEK(sinh nhật) = '3' THÌ 'Thứ Ba'

KHI DAYOFWEEK(sinh nhật) = '4' THÌ 'Thứ Tư'

KHI DAYOFWEEK(sinh nhật) = '5' THÌ 'Thứ năm'

KHI DAYOFWEEK(sinh nhật) = '6' THÌ 'Thứ Sáu'

KHI DAYOFWEEK(sinh nhật) = '7' THÌ 'Saturday'

KHÁC 'không phải là một ngày trong tuần'

KẾT THÚC vào ngày_trong_tuần

TỪ

bạn

GIỚI HẠN 10

kết quả có được như sau.

Bằng cách này thì kết quả tương đối ổn định. Tuy nhiên để lấy tên 1 ngày trong tuần thì nó còn khá dài. Vì thế có sử dụng 1 chức năng DAYNAME() phù hợp hơn cho công việc này. Đơn giản chỉ cần cung cấp cho nó một giá trị ngày và kết quả sẽ nhanh hơn rất nhiều. Code as after.

LỰA CHỌN

first_name, last_name, DAYNAME(sinh nhật)

TỪ

bạn

GIỚI HẠN 10

Và đây là kết quả

Tính toán và xử lý tháng

Khi tính toán và lý tháng bằng câu lệnh SQL , from 1 value ngày tháng cung cấp thì các hàm MONTH() được sử dụng để lấy giá trị số theo tháng. Khi kết quả trả về là 1 (đại diện cho tháng 1) và 2 (đại diện cho tháng 2)…tương tự các tháng còn lại cũng tuân theo quy luật trên.

LỰA CHỌN

(THÁNG(sinh nhật)) AS tháng, COUNT(*) AS number_of_birthdays

TỪ

bạn

NHÓM THEO tháng

ĐẶT HÀNG THEO THÁNG ASC

Trong truy vấn này, hàm COUNT() có nhiệm vụ đếm số người có cùng ngày sinh trong mỗi tháng.

Kết quả như sau

Sau đó chúng ta sử dụng hàm MONTHNAME() để lấy tên của tháng. Code as after.

CHỌN KHÁC BIỆT

(MONTHNAME(sinh nhật)) NHƯ tháng,

COUNT(*) AS số_của_sinh_nhật

TỪ

bạn

NHÓM THEO tháng

And results return as after

Tính toán và xử lý ngày

Giả sử bạn muốn nhập thông tin về ngày sinh nhật của một người mới trong quá trình tính toán và xử lý ngày tháng bằng câu lệnh SQL bạn phải nhập ngày ở dạng chuỗi. Giả sử người đó sinh vào ngày 10 tháng 8 năm 2017 thì bạn nhập như sau:

CHỌN STR_TO_DATE("Ngày 10 tháng 8 năm 2017", "%M %d %Y")

Trong chuỗi ký hiệu được định dạng %M %d,%Y thì %M< .   là tên tháng. %d là ngày trong tháng. %Y là 4 chữ số năm.

Ngày có giá trị NOT NULL

Có thể sử dụng câu lệnh MySQL dưới đây để kiểm tra ngày không phải là Null

LỰA CHỌN

first_name, last_name, ngày sinh

TỪ

bạn

Ở ĐÂU

sinh nhật KHÔNG PHẢI LÀ NULL;

Nó sẽ lọc ra các hàng có ngày sinh nhật không phải là null cho bạn

Get out the days in the distance of day. đến ngày

Trong tính toán và lý lịch tháng bằng câu lệnh SQL thì để có thể truy xuất những ngày xử lý trong 1 khoảng thời gian sẵn có .

LỰA CHỌN

*

TỪ

bạn

Ở ĐÂU

sinh nhật GIỮA '1996-10-05 00. 00. 00' VÀ '1996-12-25 23. 59. 59'

Và đây là kết quả trả về dữ liệu của người có ngày sinh trong khoảng thời gian trên

Đđến đây có lẽ bạn đã hiểu cách tính toán và xử lý tháng bằng câu lệnh SQL thông qua những ví dụ cụ thể trong bài viết này.  Nếu để ý kỹ bạn sẽ thấy nó không hề khó chút nào. Chỉ cần bạn kiên nhẫn thực hành luyện tập nhiều lần thì sẽ không còn bỡ ngỡ nếu phải tính toán và xử lý hàng tháng bằng câu lệnh SQL trong công . Chúc bạn thành công.

BizFly Cloud là nhà cung cấp dịch vụ điện toán đám mây đám mây với chi phí thấp, được vận hành bởi VCCorp.

BizFly Cloud là một trong 4 doanh nghiệp nòng cốt trong "Chiến dịch kết thúc chuyển đổi số bằng công nghệ điện toán đám mây Việt Nam" của Bộ TT&TT;