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 Show 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ậtKhi 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 Và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ángKhi 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àyGiả 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 NULLCó 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àyTrong 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; |