Cách Sử Dụng Hàm Tính Tuổi Trong Sql Như Thế Nào? Truy Vấn Với Điều Kiện Trong Sql Server

Bởi tuhocmoithu
Vừa qua mình vừa có 1 task tương quan đến việc giám sát và xử lí ngày tháng bằng câu lệnh SQL. Trong quy trình tìm hiểu và khám phá và thực hiền mình có rút ra 1 chút kinh nghiệm tay nghề hay hay nên ngày hôm nay muốn chia sẽ cùng mọi người, mong có thế giúp những bạn khi thiết yếu*sau khi lấy được số ngày, bạn muốn xem người đó năm nay bao nhiêu tuổi*

Hàm ROUND()toán học được sử dụng để làm tròn kết quả thành một số nguyên.Bạn đang đọc : Hàm tính tuổi trong sql

Bạn cũng hoàn toàn có thể đo lường và thống kê tuổi của friends bằng cách sauSELECT first_name, last_name, ( YEAR ( CURDATE ( ) ) – YEAR ( birthday ) ) – ( RIGHT ( CURDATE ( ), 5 ) RIGHT ( birthday, 5 ) ) AS yearsFROM friendsGiải thích 1 chút :Hàm CURDATE ( ) trả về ngày hiện tại của máy tính, hàm YEAR ( ) trả về năm của ngày đã 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 Hàm RIGHT ( ) trả về số lượng ký tự như được chỉ định trong hàm từ chuỗi hoặc ngày đã cho. Phần của biểu thức so sánh những trả về từ hàm RIGHT ( ) ước tính 1 hoặc 0. tác dụng là :*Sau khi select được số tuổi của những friend trong khoa trong list friend của mình bạn muốn sắp xếp số tuổi theo thứ tự giảm dần hoặc tăng dần thì tất cả chúng ta chỉ cầnORDER BY age ASC ; / / sắp xếp tăng dầnORDER BY age DESC ; / / sắp xếp giảm dần vào cuối mệnh đề trên .3.2 Chúng ta không bao giờ quên sinh nhật phải không?Giả sử chúng ta muốn biết ngày trong tuần là sinh nhật của một người bạn. Có lẽ chúng tôi nhìn vào friends bàn mỗi tuần và biết được ai sẽ sinh nhật, nếu có, và ghi chú ngày hôm nay là ngày gì.3.2 Chúng ta không khi nào quên sinh nhật phải không ? Giả sử tất cả chúng ta muốn biết ngày trong tuần là sinh nhật của một người bạn. Có lẽ chúng tôi nhìn vào friends bàn mỗi tuần và biết được ai sẽ sinh nhật, nếu có, và ghi chú ngày ngày hôm nay là ngày gì .Các DAYOFWEEK ( ) hàm trả về một giá trị số cho tham số giá trị ngày tháng. Những số lượng đó đại diện thay mặt cho :1 = Chủ nhật ,2 = Thứ hai, v.v.Chúng ta hoàn toàn có thể đặt một CASE biểu thức để sử dụng ở đây .Xem thêm : Top 5 Liên Quân : 5 Vị Tướng Mạnh Nhất Mọi Thời Đại, Top 10 Tướng Mạnh Nhất Trong Liên Quân Mobile

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 10Awesome! Điều đó hoạt động hoàn hảo.Nhưng nó khá dài để lấy tên 1 ngày trong tuần.

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

SELECT first_name, last_name, DAYNAME ( birthday ) FROM friendsLIMIT 103.3 Xử lí tháng3.3 Xử lí thángCác hàm MONTH ( ) được sử dụng để lấy những giá trị số theo tháng từ một giá trị ngày tháng cung ứng. Như trong 1 nghĩa ( tháng 1 ) và 12 cho ( 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 truy vấn này, hàm COUNT ( ) đến số người có ngày sinh trong mỗi tháng :*Vậy liệu tất cả chúng ta hoàn toàn có thể lấy tên của tháng không ? câu trả lởi chắc như đinh là có rồiSử dụng hàm MONTHNAME ( ), lấy tên của Tháng trong thực tiễn từ giá trị ngày đã qua, so với số Tháng qua MONTH ( ) .SELECT DISTINCT ( MONTHNAME ( birthday ) ) AS month, COUNT ( * ) AS number_of_birthdaysFROM friendsGROUP BY monthKết quả*3.4 Xử lí ngàyKhi bạn có thêm 1 người bạn mới, bạn vui tươi nhập thông tin người bạn ấy vào Nhưng, ngày sinh nhật ở dạng chuỗi như ” ngày 10 thá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*4. Kết luận

Thông qua các ví dụ thực tế trên, mong có thể giúp chúng ta có cái nhìn rõ hơn với việc xử lí ngày tháng bằng câu lệnh SQL. Bài viết của mình vẫn còn nhiều thiếu sót rất mong nhận được sự góp ý đóng góp của các bạn để bài viết được hoàn thiện hơn

*Tài liệu tìm hiểu thêm :https://www.w3resource.com/mysql/advance-query-in-mysql/date-calculation.phphttps://www.w3school.comhttps://codeburst.io/handy-mysql-date-functions-with-examples-93dbd79849c5

You may also like

Để lại bình luận