III: Các hàm thời gian trong Mysql

Ngày đăng: 2024-06-18 20:29:46

Mục lục:

  

1. Hàm ADDDATE

2. Hàm ADDTIME

3. Hàm CURDATE

4. Hàm CURRENT_DATE 

5. Hàm CURRENT_TIME 

6. Hàm CURRENT_TIMESTAMP

7. Hàm CURTIME 

8. Hàm DATE

9. Hàm DATE_ADD

10. Hàm DATE_FORMAT

11. Hàm DATE_SUB

12. Hàm DATEDIFF

13. Hàm DAY

14. Hàm DAYNAME

15. Hàm DAYOFMONTH

16. Hàm DAYOFWEEK

17. Hàm DAYOFYEAR

18. Hàm EXTRACT

19. Hàm FROM_DAYS

20 . Hàm HOUR

21. Hàm LAST_DAY

22. Hàm LOCALTIME

23. Hàm LOCALTIMESTAMP

24. Hàm MAKEDATE

25. Hàm MAKETIME

26. Hàm MICROSECOND

27. Hàm MINUTE

28. Hàm MONTH

29. Hàm MONTHNAME

30. Hàm NOW

31. Hàm PERIOD_ADD

32. Hàm PERIOD_DIFF

33. Hàm QUARTER

34. Hàm SEC_TO_TIME

35. Hàm SECOND

36. Hàm STR_TO_DATE

37. Hàm SUBDATE

38. Hàm SUBTIME

39. Hàm SYSDATE

40. Hàm TMIE

41. Hàm TIME_FORMAT

42. Hàm TIMEDIFF

43. Hàm TIME_TO_SEC

44. Hàm TIMESTAMP

45. Hàm TO_DAYS

46. Hàm WEEK

47. Hàm WEEKDAY

48. Hàm WEEKOFYEAR

49. Hàm YEAR

50. Hàm YEARWEEK

1. Hàm ADDDATE 

Hàm ADDDATE trả về một ngày mà sau đó một khoảng thời gian/ngày nhất định đã được thêm vào.

Cú pháp của hàm ADDDATE trong MySQL là:

ADDDATE( date, INTERVAL value unit )

Hoặc

ADDDATE( date, days )

Trong đó:

  • date: Ngày mà khoảng thời gian nên được thêm vào.
  • days: Số ngày để thêm vào date
  • value: Giá trị của khoảng thời gian/ngày mà bạn muốn thêm. Bạn có thể chỉ định giá trị dương và âm cho tham số này
  • unit: Đơn vị. Đơn vị có các giá trị như YEAR_MONTH, DAY_HOUR, DAY_MINUTE, DAY_SECOND, DAY_MICROSECOND, HOUR_MINUTE, HOUR_SECOND, MICROSECOND, SECOND, MINUTE, HOUR, DAY, WEEK, MONTH, QUARTER, YEAR...

Hàm ADDDATE có thể được sử dụng trong các phiên bản sau của MySQL:

  • MySQL 5.7, MySQL 5.6, MySQL 5.5, MySQL 5.1, MySQL 5.0, MySQL 4.1, MySQL 4.0, MySQL 3.23

Ví dụ

mysql> SELECT ADDDATE('2019-03-28 22:24:21.000001', INTERVAL 15 MICROSECOND);

Ket qua: '2019-03-28 22:24:21.000016'

 

mysql> SELECT ADDDATE('2019-03-28 22:24:21', INTERVAL -40 SECOND);

Ket qua: '2019-03-28 22:23:41'

 

mysql> SELECT ADDDATE('2019-03-28 22:24:21', INTERVAL 35 MINUTE);

Ket qua: '2019-03-28 22:59:21'

 

mysql> SELECT ADDDATE('2019-03-28 22:24:21', INTERVAL -3 HOUR);

Ket qua: '2019-03-28 19:24:21'

 

mysql> SELECT ADDDATE('2019-03-28', INTERVAL 12 DAY);

Ket qua: '2019-04-09'

 

mysql> SELECT ADDDATE('2019-03-28', 11);

Ket qua: '2019-04-08'

 

mysql> SELECT ADDDATE('2019-03-28', INTERVAL 15 WEEK);

Ket qua: '2019-07-11'

 

mysql> SELECT ADDDATE('2019-03-28', INTERVAL -5 MONTH);

Ket qua: '2018-10-28'

 

mysql> SELECT ADDDATE('2019-03-28', INTERVAL 5 QUARTER);

Ket qua: '2020-06-28'

 

mysql> SELECT ADDDATE('2019-03-28', INTERVAL 5 YEAR);

Ket qua: '2024-03-28'

 

mysql> SELECT ADDDATE('2019-03-28 22:24:21', INTERVAL '15.000001' SECOND_MICROSECOND);

Ket qua: '2019-03-28 22:24:36.000001'

 

mysql> SELECT ADDDATE('2019-03-28 22:24:21.000001', INTERVAL '6:12.000001' MINUTE_MICROSECOND);

Ket qua: '2019-03-28 22:30:33.000002'

 

mysql> SELECT ADDDATE('2019-03-28 22:24:21', INTERVAL '7:12' MINUTE_SECOND);

Ket qua: '2019-03-28 22:31:33'

 

mysql> SELECT ADDDATE('2019-03-28 22:24:21.000001', INTERVAL '5:05:12.000001' HOUR_MICROSECOND);

Ket qua: '2019-03-29 03:29:33.000002'

 

mysql> SELECT ADDDATE('2019-03-28 22:24:21', INTERVAL '7:07:12' HOUR_SECOND);

Ket qua: '2019-03-29 05:31:33'

 

mysql> SELECT ADDDATE('2019-03-28 22:24:21', INTERVAL '9:03' HOUR_MINUTE);

Ket qua: '2019-03-29 07:27:21'

 

mysql> SELECT ADDDATE('2019-03-28 22:24:21', INTERVAL '9 9:03:12.000001' DAY_MICROSECOND);

Ket qua: '2019-04-07 07:27:33.000001'

 

mysql> SELECT ADDDATE('2019-03-28 22:24:21', INTERVAL '9 6:03:12' DAY_SECOND);

Ket qua: '2019-04-07 04:27:33'

 

mysql> SELECT ADDDATE('2019-03-28 22:24:21', INTERVAL '6 4:03' DAY_MINUTE);

Ket qua: '2019-04-04 02:27:21'

 

mysql> SELECT ADDDATE('2019-03-28 22:24:21', INTERVAL '8 3' DAY_HOUR);

Ket qua: '2019-04-06 01:24:21'

 

mysql> SELECT ADDDATE('2019-03-28', INTERVAL '9-3' YEAR_MONTH);

Ket qua: '2028-06-28'

2. Hàm ADDTIME 

Hàm ADDTIME trả về giá trị giờ/ngày giờ mà sau đó một khoảng thời gian nhất định đã được thêm vào.

Cú pháp của hàm ADDTIME trong MySQL là:

ADDTIME( start_value, time )

Trong đó:

  • start_value: Giá trị giờ hoặc ngày giờ mà khoảng thời gian được thêm vào.
  • time: Giá trị của khoảng thời gian mà bạn muốn thêm. Nó có thể là một giá trị âm hoặc dương.

Hàm ADDTIME có thể được sử dụng trong các phiên bản sau của MySQL:

  • MySQL 5.7, MySQL 5.6, MySQL 5.5, MySQL 5.1, MySQL 5.0, MySQL 4.1.1

Ví dụ

mysql> SELECT ADDTIME('2019-04-02 09:45:20.000005', '5.000001');

Ket qua: '2019-04-02 09:45:25.000006'

 

mysql> SELECT ADDTIME('2019-04-02 09:45:20.000005', '5:4.000001');

Ket qua: '2019-04-02 14:49:20.000006'

 

mysql> SELECT ADDTIME('2019-04-02 09:45:20.000005', '6:2:2.000001');

Ket qua: '2019-04-02 15:47:22.000006'

 

mysql> SELECT ADDTIME('2019-04-02 09:45:20.000005', '8 6:3:2.000001');

Ket qua: '2019-04-10 15:48:22.000006'

 

mysql> SELECT ADDTIME('09:45:20.000005', '0.000008');

Ket qua: '09:45:20.000013'

 

mysql> SELECT ADDTIME('09:45:20.000005', '9.000006');

Ket qua: '09:45:29.000011'

 

mysql> SELECT ADDTIME('09:45:20.000005', '9:15:55.003441');

Ket qua: '19:01:15.003446'

 

mysql> SELECT ADDTIME('06:45:20.000007', '-7:15:25.003441');

Ket qua: '-00:30:05.003434'

3. Hàm CURDATE 

Hàm CURDATE trả về ngày hiện tại.

Cú pháp của hàm CURDATE trong MySQL là:

CURDATE( )

Lưu ý:

  • Hàm CURDATE sẽ trả về ngày hiện tại dưới định dạng 'YYYY-MM-DD', nếu được sử dụng trong ngữ cảnh chuỗi.
  • Hàm CURDATE sẽ trả về ngày hiện tại dưới dạng định dạng YYYYMMDD, nếu được sử dụng trong ngữ cảnh số.

Hàm CURDATE có thể được sử dụng trong các phiên bản sau của MySQL:

  • MySQL 5.7, MySQL 5.6, MySQL 5.5, MySQL 5.1, MySQL 5.0, MySQL 4.1, MySQL 4.0, MySQL 3.23

Ví dụ

mysql> SELECT CURDATE();

Ket qua: '2019-03-28'

 

mysql> SELECT CURDATE() + 4;

Ket qua: 20190332

 

mysql> SELECT CURDATE() + 0;

Ket qua: 20190328

4. Hàm CURRENT_DATE 

Hàm CURRENT_DATE trả về ngày hiện tại.

Cú pháp của hàm CURRENT_DATE trong MySQL là:

CURRENT_DATE( )

Lưu ý:

  • Hàm CURRENT_DATE sẽ trả về ngày hiện tại dưới dạng 'YYYY-MM-DD', nếu được sử dụng trong ngữ cảnh chuỗi.
  • Hàm CURRENT_DATE sẽ trả về ngày hiện tại dưới định dạng YYYYMMDD, nếu được sử dụng trong ngữ cảnh số.

Hàm CURRENT_DATE có thể được sử dụng trong các phiên bản sau của MySQL:

  • MySQL 5.7, MySQL 5.6, MySQL 5.5, MySQL 5.1, MySQL 5.0, MySQL 4.1, MySQL 4.0, MySQL 3.23

Ví dụ

mysql> SELECT CURRENT_DATE();

Ket qua: '2019-03-28'

 

mysql> SELECT CURRENT_DATE() + 5;

Ket qua: 20190333

5. Hàm CURRENT_TIME 

Hàm CURRENT_TIME trả về thời gian hiện tại.

Cú pháp của hàm CURRENT_TIME trong MySQL là:

CURRENT_TIME( )

Trong đó:

  • Hàm CURRENT_TIME sẽ trả về ngày hiện tại dưới định dạng 'HH: MM: SS', nếu được sử dụng trong ngữ cảnh chuỗi.
  • Hàm CURRENT_TIME sẽ trả về ngày hiện tại dưới dạng định dạng HHMMSS, nếu được sử dụng trong ngữ cảnh số trong các phiên bản của MySQL trước MySQL 4.1.13.
  • Hàm CURRENT_TIME sẽ trả về ngày hiện tại dưới định dạng HHMMSS.uuuuuu, nếu được sử dụng trong ngữ cảnh số trong các phiên bản của MySQL 4.1.13 trở lên.

Hàm CURRENT_TIME có thể được sử dụng trong các phiên bản sau của MySQL:

  • MySQL 5.7, MySQL 5.6, MySQL 5.5, MySQL 5.1, MySQL 5.0, MySQL 4.1, MySQL 4.0, MySQL 3.23

Ví dụ

mysql> SELECT CURRENT_TIME();

Ket qua: '23:47:35'

 

mysql> SELECT CURRENT_TIME() + 5;

Ket qua: 1234760

6. Hàm CURRENT_TIMESTAMP 

Hàm CURRENT_TIMESTAMP trả về ngày và giờ hiện tại.

Cú pháp của hàm CURRENT_TIMESTAMP trong MySQL là:

CURRENT_TIMESTAMP( )

Lưu ý:

  • Hàm CURRENT_TIMESTAMP sẽ trả về ngày hiện tại dưới định dạng 'YYYY-MM-DD HH: MM: SS', nếu được sử dụng trong ngữ cảnh chuỗi.
  • Hàm CURRENT_TIMESTAMP sẽ trả về ngày hiện tại dưới dạng định dạng YYYYMMDDHHMMSS, nếu được sử dụng trong ngữ cảnh số trong các phiên bản của MySQL trước MySQL 4.1.13.
  • Hàm CURRENT_TIMESTAMP sẽ trả về ngày hiện tại dưới dạng định dạng YYYYMMDDHHMMSS.uuuuuu, nếu được sử dụng trong ngữ cảnh số trong các phiên bản của MySQL 4.1.13 và mới hơn.

Hàm CURRENT_TIMESTAMP có thể được sử dụng trong các phiên bản sau của MySQL:

  • MySQL 5.7, MySQL 5.6, MySQL 5.5, MySQL 5.1, MySQL 5.0, MySQL 4.1, MySQL 4.0, MySQL 3.23

Ví dụ

mysql> SELECT CURRENT_TIMESTAMP();

Ket qua: '2019-03-28 23:54:55'

 

mysql> SELECT CURRENT_TIMESTAMP() + 5;

Ket qua: 20190328235518

7. Hàm CURTIME 

Hàm CURTIME trả về thời gian hiện tại.

Cú pháp của hàm CURTIME trong MySQL là:

CURTIME( )

Lưu ý:

  • Hàm CURTIME sẽ trả về ngày hiện tại dưới định dạng 'HH: MM: SS', nếu được sử dụng trong ngữ cảnh chuỗi.
  • Hàm CURTIME sẽ trả về ngày hiện tại dưới dạng định dạng HHMMSS, nếu được sử dụng trong ngữ cảnh số trong các phiên bản của MySQL trước MySQL 4.1.13.
  • Hàm CURTIME sẽ trả về ngày hiện tại dưới dạng định dạng HHMMSS.uuuuuu, nếu được sử dụng trong ngữ cảnh số trong các phiên bản của MySQL 4.1.13 trở lên.

Hàm CURTIME có thể được sử dụng trong các phiên bản sau của MySQL:

  • MySQL 5.7, MySQL 5.6, MySQL 5.5, MySQL 5.1, MySQL 5.0, MySQL 4.1, MySQL 4.0, MySQL 3.23

Ví dụ

mysql> SELECT CURTIME();

Ket qua: '00:01:33'

 

mysql> SELECT CURTIME() + 5;

Ket qua: 154

8. Hàm DATE

Hàm DATE trích xuất giá trị ngày từ biểu thức ngày hoặc ngày giờ.

Cú pháp của hàm DATE trong MySQL là:

DATE( expression )

Trong đó:

  • expression: Giá trị ngày hoặc ngày giờ được trích xuất ngày

Lưu ý:

  • Nếu biểu thức không phải là ngày hoặc ngày giờ, hàm DATE sẽ trả về NULL.

Hàm DATE có thể được sử dụng trong các phiên bản sau của MySQL:

  • MySQL 5.7, MySQL 5.6, MySQL 5.5, MySQL 5.1, MySQL 5.0, MySQL 4.1.1

Ví dụ

mysql> SELECT DATE('2019-03-28');

Ket qua: '2019-03-28'

 

mysql> SELECT DATE('2019-03-28 07:20:01');

Ket qua: '2019-03-28'

 

mysql> SELECT DATE('2019-03-28 07:20:01.000001');

Ket qua: '2019-03-28'

 

mysql> SELECT DATE('Day la ngay  2019-03-28');

Ket qua: NULL

 

mysql> SELECT DATE(NULL);

Ket qua: NULL

9. Hàm DATE_ADD

Hàm DATE_ADD trả về một ngày mà sau đó một khoảng thời gian/ngày nhất định đã được thêm vào.

Cú pháp của hàm DATE_ADD trong MySQL là:

DATE_ADD( date, INTERVAL value unit )

Trong đó:

  • date: Ngày mà khoảng thời gian được thêm vào.
  • value: Giá trị của khoảng thời gian / ngày mà bạn muốn thêm. Bạn có thể chỉ định giá trị dương và âm cho tham số này.
  • unit: Loại đơn vị của khoảng thời gian như NGÀY, THÁNG, PHÚT, GIỜ, v.v.

Hàm DATE_ADD có thể được sử dụng trong các phiên bản sau của MySQL:

  • MySQL 5.7, MySQL 5.6, MySQL 5.5, MySQL 5.1, MySQL 5.0, MySQL 4.1, MySQL 4.0, MySQL 3.23

Ví dụ

mysql> SELECT DATE_ADD('2019-04-02 09:45:25.000005', INTERVAL 5 MICROSECOND);

Ket qua: '2019-04-02 09:45:25.000010'

 

mysql> SELECT DATE_ADD('2019-04-02 09:45:25', INTERVAL -25 SECOND);

Ket qua: '2019-04-02 09:45:00'

 

mysql> SELECT DATE_ADD('2019-04-02 09:45:25', INTERVAL 20 MINUTE);

Ket qua: '2019-04-02 10:05:25'

 

mysql> SELECT DATE_ADD('2019-04-02 09:45:25', INTERVAL -5 HOUR);

Ket qua: '2019-04-02 04:45:25'

 

mysql> SELECT DATE_ADD('2019-04-02', INTERVAL 11 DAY);

Ket qua: '2019-04-13'

 

mysql> SELECT DATE_ADD('2019-04-02', INTERVAL 15 WEEK);

Ket qua: '2019-07-16'

 

mysql> SELECT DATE_ADD('2019-04-02', INTERVAL -7 MONTH);

Ket qua: '2018-09-02'

 

mysql> SELECT DATE_ADD('2019-04-02', INTERVAL 5 QUARTER);

Ket qua: '2020-07-02'

 

mysql> SELECT DATE_ADD('2019-04-02', INTERVAL 9 YEAR);

Ket qua: '2028-04-02'

10. Hàm DATE_FORMAT 

Hàm DATE_FORMAT định dạng một ngày như được chỉ định bởi mặt nạ định dạng.

Cú pháp của hàm DATE_FORMAT trong MySQL là:

DATE_FORMAT( date, format_mask )

Trong đó:

  • date: Ngày để định dang
  • format_mask: Các định dạng để áp dụng cho ngày. Sau đây là danh sách các tùy chọn cho tham số format_mask
Giá trị Mô tả
%a Viết tắt tên ngày trong tuần (Sun - Sat)
%b Viết tắt tên tháng (Jan đến Dec)
%c Tháng dưới dạng giá trị số (0 đến 12)
%D Ngày trong tháng dưới dạng giá trị số, theo sau là hậu tố (1st, 2nd, 3rd, ...)
%d Ngày trong tháng dưới dạng giá trị số (01 đến 31)
%e Ngày trong tháng dưới dạng giá trị số (1 đến 31)
%f Giây (000000 đến 999999)
%H Hour (00 đến 23)
%h hoặc %l Giờ (00 đến 12)
%i Phút (00 đến 59)
%j Ngày trong năm (001 đến 366)
%k Giờ (00 đến 23)
%l Giờ (1 đến 12)
%M Tên tháng đầy đủ (January đến December)
%m Tên tháng dưới dạng giá trị số (00 đến 12)
%p AM hoặc PM
%r Thời gian ở định dạng 12 giờ AM hoặc PM (hh: mm: ss AM / PM)
%S Giây (00 đến 59)
%s Giây (00 đến 59)
%T Thời gian ở định dạng 24 giờ (hh: mm: ss)
%U Tuần mà Chủ nhật là ngày đầu tuần (00 đến 53)
%u Tuần mà thứ Hai là ngày đầu tuần (00 đến 53)
%V Tuần mà Chủ nhật là ngày đầu tuần (01 đến 53)
%v Tuần mà thứ Hai là ngày đầu tuần (01 đến 53)
%W Tên ngày trong tuần đầy đủ (Sunday đến Saturday)
%w Ngày trong tuần trong đó Chủ nhật = 0 và Thứ bảy = 6
%X Năm trong tuần mà Chủ nhật là ngày đầu tuần
%x Năm trong tuần, thứ Hai là ngày đầu tuần
%Y Năm dưới dạng giá trị số, 4 chữ số
%y Năm dưới dạng giá trị số, 2 chữ số

Hàm DATE_FORMAT có thể được sử dụng trong các phiên bản sau của MySQL:

  • MySQL 5.7, MySQL 5.6, MySQL 5.5, MySQL 5.1, MySQL 5.0, MySQL 4.1, MySQL 4.0, MySQL 3.23

Ví dụ

mysql> SELECT DATE_FORMAT('2019-03-28', '%Y');

Ket qua: '2019'

 

mysql> SELECT DATE_FORMAT('2019-03-28', '%M %d, %Y');

Ket qua: 'March 28, 2019'

 

mysql> SELECT DATE_FORMAT('2019-03-28', '%M %e %Y');

Ket qua: 'March 28 2019'

 

mysql> SELECT DATE_FORMAT('2019-03-28', '%W, %M %e, %Y');

Ket qua: 'Thursday, March 28, 2019'

 

mysql> SELECT DATE_FORMAT('2019-03-28', '%W');

Ket qua: 'Thursday'

11. Hàm DATE_SUB 

Hàm DATE_SUB trả về một ngày mà sau đó một khoảng thời gian/ngày nhất định đã bị trừ.

Cú pháp của hàm DATE_SUB trong MySQL là:

DATE_SUB( date, INTERVAL value unit )

Trong đó:

  • date: Ngày mà khoảng thời gian nên được trừ.
  • value: Giá trị của khoảng thời gian / ngày mà bạn muốn trừ. Bạn có thể chỉ định giá trị dương và âm cho tham số này.
  • unit: Loại đơn vị của khoảng thời gian như NGÀY, THÁNG, PHÚT, GIỜ, v.v.

Hàm DATE_SUB có thể được sử dụng trong các phiên bản sau của MySQL:

  • MySQL 5.7, MySQL 5.6, MySQL 5.5, MySQL 5.1, MySQL 5.0, MySQL 4.1, MySQL 4.0, MySQL 3.23

Ví dụ

mysql> SELECT DATE_SUB('2019-03-29 09:45:25.000001', INTERVAL 5 MICROSECOND);

Ket qua: '2019-03-29 09:45:24.999996'

 

mysql> SELECT DATE_SUB('2019-03-29 09:45:25', INTERVAL 25 SECOND);

Ket qua: '2019-03-29 09:45:00'

 

mysql> SELECT DATE_SUB('2019-03-29 09:45:25', INTERVAL 40 MINUTE);

Ket qua: '2019-03-29 09:05:25'

 

mysql> SELECT DATE_SUB('2019-03-29 09:45:25', INTERVAL 5 HOUR);

Ket qua: '2019-03-29 04:45:25'

 

mysql> SELECT DATE_SUB('2019-03-29 09:45:25', INTERVAL 12 DAY);

Ket qua: '2019-03-17 09:45:25'

 

mysql> SELECT DATE_SUB('2019-03-29 09:45:25', INTERVAL 14 WEEK);

Ket qua: '2018-12-21 09:45:25'

 

mysql> SELECT DATE_SUB('2019-03-29', INTERVAL 2 MONTH);

Ket qua: '2019-01-29'

 

mysql> SELECT DATE_SUB('2019-03-29', INTERVAL 8 QUARTER);

Ket qua: '2017-03-29'

 

mysql> SELECT DATE_SUB('2019-03-29', INTERVAL 1 YEAR);

Ket qua: '2018-03-29'

 

mysql> SELECT DATE_SUB('2019-03-29 09:45:25.000001', INTERVAL '12.000001' SECOND_MICROSECOND);

Ket qua: '2019-03-29 09:45:13'

 

mysql> SELECT DATE_SUB('2019-03-29 09:45:25.000001', INTERVAL '3:12.000001' MINUTE_MICROSECOND);

Ket qua: '2019-03-29 09:42:13'

 

mysql> SELECT DATE_SUB('2019-03-29 09:45:25', INTERVAL '3:12' MINUTE_SECOND);

Ket qua: '2019-03-29 09:42:13'

 

mysql> SELECT DATE_SUB('2019-03-29 09:45:25.000001', INTERVAL '1:03:12.000001' HOUR_MICROSECOND);

Ket qua: '2019-03-29 08:42:13'

 

mysql> SELECT DATE_SUB('2019-03-29 09:45:25', INTERVAL '5:03:12' HOUR_SECOND);

Ket qua: '2019-03-29 04:42:13'

 

mysql> SELECT DATE_SUB('2019-03-29 09:45:25', INTERVAL '3:03' HOUR_MINUTE);

Ket qua: '2019-03-29 06:42:25'

12. Hàm DATEDIFF

Hàm DATEDIFF trả về chênh lệch số ngày giữa hai giá trị ngày.

Cú pháp của hàm DATEDIFF trong MySQL là:

DATEDIFF( date1, date2 )

Trong đó:

  • date1 và date2: Hai ngày để tính chênh lệch. Cách tính là date1 - date2.

Lưu ý:

  • Chỉ phần ngày của date1 và date2 được sử dụng trong tính toán DATEDIFF. Phần thời gian của date1 và date2 bị bỏ qua.

Hàm DATEDIFF có thể được sử dụng trong các phiên bản sau của MySQL:

  • MySQL 5.7, MySQL 5.6, MySQL 5.5, MySQL 5.1, MySQL 5.0, MySQL 4.1.1

Ví dụ

mysql> SELECT DATEDIFF('2019-03-29', '2019-03-28');

Ket qua: 1

 

mysql> SELECT DATEDIFF('2019-03-29 19:50:14', '2019-03-27 19:10:08');

Ket qua: 2

 

mysql> SELECT DATEDIFF('2019-03-29 13:45:14', '2019-03-27');

Ket qua: 2

 

mysql> SELECT DATEDIFF('2019-03-29', '2019-05-9');

Ket qua: -41

 

mysql> SELECT DATEDIFF('2019-03-29', '2019-12-21');

Ket qua: -267

 

mysql> SELECT DATEDIFF('2019-03-29', '2019-01-20');

Ket qua: 68

13. Hàm DAY 

Hàm DAY trả về phần ngày của một giá trị ngày.

Cú pháp của hàm DAY trong MySQL là:

DAY( date_value )

Trong đó:

  • date_value: Giá trị ngày hoặc ngày giờ để trích xuất ngày

Lưu ý: 

  • Hàm DAY trả về ngày trong tháng (một số từ 1 đến 31) cho một giá trị ngày.

Hàm DAY có thể được sử dụng trong các phiên bản sau của MySQL:

  • MySQL 5.7, MySQL 5.6, MySQL 5.5, MySQL 5.1, MySQL 5.0, MySQL 4.1, MySQL 4.0, MySQL 3.23

Ví dụ

mysql> SELECT DAY('2019-03-28');

Ket qua: 28

 

mysql> SELECT DAY('2019-03-28 15:25:05');

Ket qua: 28

 

mysql> SELECT DAY('2019-03-8');

Ket qua: 8

 

14. Hàm DAYNAME 

Hàm DAYNAME trả về tên ngày trong tuần cho một ngày.

Cú pháp của hàm DAYNAME trong MySQL là:

DAYNAME( date_value )

Trong đó:

  • date_value: Giá trị ngày hoặc ngày giờ để trích xuất tên ngày trong tuần.

Hàm DAYNAME có thể được sử dụng trong các phiên bản sau của MySQL:

  • MySQL 5.7, MySQL 5.6, MySQL 5.5, MySQL 5.1, MySQL 5.0, MySQL 4.1, MySQL 4.0, MySQL 3.23

Ví dụ

mysql> SELECT DAYNAME('2019-03-28');

Ket qua: 'Thursday'

 

mysql> SELECT DAYNAME('2019-03-27');

Ket qua: 'Wednesday'

 

mysql> SELECT DAYNAME('2019-03-27 18:15:15');

Ket qua: 'Wednesday'

15. Hàm DAYOFMONTH 

Hàm DAYOFMONTH trả về phần ngày của giá trị ngày.

Cú pháp của hàm DAYOFMONTH trong MySQL là:

DAYOFMONTH( date_value )

Trong đó:

  • date_value: Giá trị ngày hoặc ngày giờ để trích xuất ngày trong tháng.

Lưu ý:

  • Hàm DAYOFMONTH trả về ngày trong tháng (một số từ 1 đến 31) cho một giá trị ngày.

Hàm DAYOFMONTH có thể được sử dụng trong các phiên bản sau của MySQL:

  • MySQL 5.7, MySQL 5.6, MySQL 5.5, MySQL 5.1, MySQL 5.0, MySQL 4.1, MySQL 4.0, MySQL 3.23

Ví dụ

mysql> SELECT DAYOFMONTH('2019-03-29');

Ket qua: 29

 

mysql> SELECT DAYOFMONTH('2019-03-29 10:20:05');

Ket qua: 29

 

mysql> SELECT DAYOFMONTH('2019-03-10');

Ket qua: 10

16. Hàm DAYOFWEEK 

Hàm DAYOFWEEK của MySQL trả về chỉ mục ngày trong tuần cho một giá trị ngày.

Cú pháp của hàm DAYOFWEEK trong MySQL là:

DAYOFWEEK( date_value )

Trong đó:

  • date_value: Giá trị ngày hoặc ngày giờ để trích xuất ngày trong tuần.

Lưu ý:

  • Hàm DAYOFWEEK trả về chỉ số ngày trong tuần trong đó 1 = Chủ nhật, 2 = Thứ Hai, 3 = Thứ Ba, 4 = Thứ Tư, 5 = Thứ Năm, 6 = Thứ Sáu, 7 = Thứ Bảy

Hàm DAYOFWEEK có thể được sử dụng trong các phiên bản sau của MySQL:

  • MySQL 5.7, MySQL 5.6, MySQL 5.5, MySQL 5.1, MySQL 5.0, MySQL 4.1, MySQL 4.0, MySQL 3.23

Ví dụ

mysql> SELECT DAYOFWEEK('2019-03-28');

Ket qua: 5

 

mysql> SELECT DAYOFWEEK('2019-03-27');

Ket qua: 4

 

mysql> SELECT DAYOFWEEK('2019-03-29');

Ket qua: 6

17. Hàm DAYOFYEAR 

Hàm DAYOFYEAR trả về ngày trong năm cho một giá trị ngày.

Cú pháp của hàm DAYOFYEAR trong MySQL là:

DAYOFYEAR( date_value )

Trong đó:

  • date_value: Giá trị ngày hoặc ngày giờ để trích xuất ngày trong năm.

Lưu ý:

  • Hàm DAYOFYEAR trả về ngày trong năm (một số từ 1 đến 366) cho một giá trị ngày.

Hàm DAYOFYEAR có thể được sử dụng trong các phiên bản sau của MySQL:

  • MySQL 5.7, MySQL 5.6, MySQL 5.5, MySQL 5.1, MySQL 5.0, MySQL 4.1, MySQL 4.0, MySQL 3.23

Ví dụ

mysql> SELECT DAYOFYEAR('2019-03-28');

Ket qua: 87

 

mysql> SELECT DAYOFYEAR('2019-02-21');

Ket qua: 52

 

mysql> SELECT DAYOFYEAR('2019-01-20');

Ket qua: 20

18. Hàm EXTRACT 

Hàm EXTRACT trích xuất các phần từ một ngày.

Cú pháp của hàm EXTRACT của MySQL là:

EXTRACT( unit FROM date )

Trong đó:

  • date: Giá trị ngày hoặc ngày giờ để trích xuất
  • unit: Loại đơn vị của khoảng thời gian như NGÀY, THÁNG, PHÚT, GIỜ, v.v.

Hàm EXTRACT có thể được sử dụng trong các phiên bản sau của MySQL:

  • MySQL 5.7, MySQL 5.6, MySQL 5.5, MySQL 5.1, MySQL 5.0, MySQL 4.1, MySQL 4.0, MySQL 3.23

 Ví dụ

mysql> SELECT EXTRACT(MICROSECOND FROM '2019-03-28 09:45:20.000001');

Ket qua: 1

 

mysql> SELECT EXTRACT(SECOND FROM '2019-03-28 09:45:20');

Ket qua: 20

 

mysql> SELECT EXTRACT(MINUTE FROM '2019-03-28 09:45:20');

Ket qua: 45

 

mysql> SELECT EXTRACT(HOUR FROM '2019-03-28 09:45:20');

Ket qua: 9

 

mysql> SELECT EXTRACT(DAY FROM '2019-03-28');

Ket qua: 28

 

mysql> SELECT EXTRACT(WEEK FROM '2019-03-28');

Ket qua: 12

 

mysql> SELECT EXTRACT(MONTH FROM '2019-03-28');

Ket qua: 3

 

mysql> SELECT EXTRACT(QUARTER FROM '2019-03-28');

Ket qua: 1

 

mysql> SELECT EXTRACT(YEAR FROM '2019-03-28');

Ket qua: 2019

 

mysql> SELECT EXTRACT(SECOND_MICROSECOND FROM '2019-03-28 09:45:20.000001');

Ket qua: 20000001

 

mysql> SELECT EXTRACT(MINUTE_MICROSECOND FROM '2019-03-28 09:45:20.000001');

Ket qua: 4520000001

 

mysql> SELECT EXTRACT(MINUTE_SECOND FROM '2019-03-28 09:45:20');

Ket qua: 4520

 

mysql> SELECT EXTRACT(HOUR_MICROSECOND FROM '2019-03-28 09:45:20.000001');

Ket qua: 94520000001

 

mysql> SELECT EXTRACT(HOUR_SECOND FROM '2019-03-28 09:45:20');

Ket qua: 94520

 

mysql> SELECT EXTRACT(HOUR_MINUTE FROM '2019-03-28 09:45:20');

Ket qua: 945

 

mysql> SELECT EXTRACT(DAY_MICROSECOND FROM '2019-03-28 09:45:20.000001');

Ket qua: 28094520000001

 

mysql> SELECT EXTRACT(DAY_SECOND FROM '2019-03-28 09:45:20');

Ket qua: 28094520

 

mysql> SELECT EXTRACT(DAY_MINUTE FROM '2019-03-28 09:45:20');

Ket qua: 280945

 

mysql> SELECT EXTRACT(DAY_HOUR FROM '2019-03-28 09:45:20');

Ket qua: 2809

 

mysql> SELECT EXTRACT(YEAR_MONTH FROM '2019-03-28');

Ket qua: 201903

19. Hàm FROM_DAYS 

Hàm FROM_DAYS lấy một đại diện số của ngày và trả về giá trị ngày.

Cú pháp của hàm FROM_DAYS trong MySQL là:

FROM_DAYS( numeric_day )

Trong đó:

  • numeric_day: Ngày số để chuyển đổi thành một ngày.

Hàm FROM_DAYS có thể được sử dụng trong các phiên bản sau của MySQL:

  • MySQL 5.7, MySQL 5.6, MySQL 5.5, MySQL 5.1, MySQL 5.0, MySQL 4.1, MySQL 4.0, MySQL 3.23

Ví dụ

mysql> SELECT FROM_DAYS(12345);

Ket qua: 0033-10-19

 

mysql> SELECT FROM_DAYS(245767);

Ket qua: 0672-11-20

 

mysql> SELECT FROM_DAYS(777897);

Ket qua: 2129-10-23

20. Hàm HOUR 

Hàm HOUR trả về phần giờ của giá trị ngày.

Cú pháp của hàm HOUR trong MySQL là:

HOUR( date_value )

Trong đó:

  • date_value: Giá trị giờ hoặc ngày giờ để trích xuất giờ.

Lưu ý:

  • Hàm HOUR trả về giờ (một số trong khoảng từ 0 đến 838) với giá trị ngày.
  • Vì giá trị thời gian có thể nằm trong khoảng từ -838: 59: 59 'đến' 838: 59: 59 ', hàm HOUR có thể trả về giá trị lên tới 838 (tức là: cao hơn 23).

Hàm HOUR có thể được sử dụng trong các phiên bản sau của MySQL:

  • MySQL 5.7, MySQL 5.6, MySQL 5.5, MySQL 5.1, MySQL 5.0, MySQL 4.1, MySQL 4.0, MySQL 3.23

Ví dụ

mysql> SELECT HOUR('2019-03-28 08:45:20.000004');

Ket qua: 8

 

mysql> SELECT HOUR('2019-03-28 12:20:01');

Ket qua: 12

 

mysql> SELECT HOUR('2019-03-28');

Ket qua: 0

 

mysql> SELECT HOUR('838:59:59');

Ket qua: 838

21. Hàm LAST_DAY 

Hàm LAST_DAY trả về ngày cuối cùng của tháng cho một ngày nhất định.

Cú pháp của hàm LAST_DAY trong MySQL là:

LAST_DAY( date_value )

Trong đó:

  • date_value: Giá trị ngày hoặc ngày giờ để trích xuất ngày cuối cùng của tháng.

Lưu ý:

  • Nếu date_value không phải là giá trị ngày hoặc thời gian hợp lệ, hàm LAST_DAY sẽ trả về NULL.

Hàm LAST_DAY có thể được sử dụng trong các phiên bản sau của MySQL:

  • MySQL 5.7, MySQL 5.6, MySQL 5.5, MySQL 5.1, MySQL 5.0, MySQL 4.1.1

Ví dụ

mysql> SELECT LAST_DAY('2019-03-15');

Ket qua: '2019-03-31'

 

mysql> SELECT LAST_DAY('2019-02-15 08:21:05');

Ket qua: '2019-02-28'

 

mysql> SELECT LAST_DAY('2019-01-15');

Ket qua: '2019-01-31'

 

mysql> SELECT LAST_DAY('2019-05-15');

Ket qua: '2019-05-31'

 

mysql> SELECT LAST_DAY('net: 2019-03-15');

Ket qua: NULL

22. Hàm LOCALTIME 

Hàm LOCALTIME trả về ngày và giờ hiện tại.

Cú pháp của hàm LOCALTIME trong MySQL là:

LOCALTIME( )

Lưu ý:

  • Hàm LOCALTIME sẽ trả về ngày hiện tại dưới định dạng 'YYYY-MM-DD HH: MM: SS', nếu được sử dụng trong ngữ cảnh chuỗi.
  • Hàm LOCALTIME sẽ trả về ngày hiện tại dưới dạng định dạng YYYYMMDDHHMMSS, nếu được sử dụng trong ngữ cảnh số trong các phiên bản của MySQL trước MySQL 4.1.13.
  • Hàm LOCALTIME sẽ trả về ngày hiện tại dưới định dạng YYYYMMDDHHMMSS.uuuuuu, nếu được sử dụng trong ngữ cảnh số trong các phiên bản của MySQL 4.1.13 và mới hơn.

Hàm LOCALTIME có thể được sử dụng trong các phiên bản sau của MySQL:

  • MySQL 5.7, MySQL 5.6, MySQL 5.5, MySQL 5.1, MySQL 5.0, MySQL 4.1, MySQL 4.0, MySQL 3.23

Ví dụ

mysql> SELECT LOCALTIME();

Ket qua: '2019-03-29 15:49:35'

 

mysql> SELECT LOCALTIME() + 5;

Ket qua: 20190329154959

23. Hàm LOCALTIMESTAMP 

Hàm LOCALTIMESTAMP trả về ngày và giờ hiện tại.

Cú pháp của hàm LOCALTIMESTAMP trong MySQL là:

LOCALTIMESTAMP( )

Lưu ý:

  • Hàm LOCALTIMESTAMP sẽ trả về ngày hiện tại dưới định dạng 'YYYY-MM-DD HH: MM: SS', nếu được sử dụng trong ngữ cảnh chuỗi.
  • Hàm LOCALTIMESTAMP sẽ trả về ngày hiện tại dưới dạng định dạng YYYYMMDDHHMMSS, nếu được sử dụng trong ngữ cảnh số trong các phiên bản của MySQL trước MySQL 4.1.13.
  • Hàm LOCALTIMESTAMP sẽ trả về ngày hiện tại dưới dạng định dạng YYYYMMDDHHMMSS.uuuuuu, nếu được sử dụng trong ngữ cảnh số trong các phiên bản của MySQL 4.1.13 và mới hơn.

Hàm LOCALTIMESTAMP có thể được sử dụng trong các phiên bản sau của MySQL:

  • MySQL 5.7, MySQL 5.6, MySQL 5.5, MySQL 5.1, MySQL 5.0, MySQL 4.1, MySQL 4.0.6

Ví dụ

mysql> SELECT LOCALTIMESTAMP();

Ket qua: '2019-03-29 15:56:48'

 

mysql> SELECT LOCALTIMESTAMP() + 0;

Ket qua: 20190329155710

24. Hàm MAKEDATE 

Hàm MAKEDATE trả về ngày cho một giá trị năm và ngày nhất định.

Cú pháp của hàm MAKEDATE là:

MAKEDATE( year, day-of-year )

Trong đó:

  • year: Năm có 4 chữ số được sử dụng để tạo ngày.
  • day-of-year: Ngày trong năm (lớn hơn 0) được sử dụng để tạo ngày.

Lưu ý: 

  • Nếu day-of-year nhỏ hơn 1, hàm MAKEDATE sẽ trả về NULL.

Hàm MAKEDATE có thể được sử dụng trong các phiên bản sau của MySQL:

  • MySQL 5.7, MySQL 5.6, MySQL 5.5, MySQL 5.1, MySQL 5.0, MySQL 4.1.1

Ví dụ

mysql> SELECT MAKEDATE(2019,1);

Ket qua:  '2019-01-01'

 

mysql> SELECT MAKEDATE(2019,31);

Ket qua:  '2019-01-31'

 

mysql> SELECT MAKEDATE(2019,35);

Ket qua:  '2019-02-04'

 

mysql> SELECT MAKEDATE(2019,200);

Ket qua:  '2019-07-19'

 

mysql> SELECT MAKEDATE(2019,365);

Ket qua:  '2019-12-31'

 

mysql> SELECT MAKEDATE(2019,366);

Ket qua: '2020-01-01'

25. Hàm MAKETIME 

Hàm MAKETIME trả về thời gian cho một kết hợp giờ, phút, giây nhất định.

Cú pháp của hàm MAKETIME trong MySQL là:

MAKETIME( hour, minute, second )

Trong đó:

  • hour: Giá trị giờ được sử dụng để tạo thời gian
  • minute: Giá trị phút được sử dụng để tạo thời gian.
  • second: Giá trị giây được sử dụng để tạo thời gian.

Lưu ý:

  • Giá trị thời gian nằm trong khoảng từ '-838: 59: 59' đến '838: 59: 59'.

Hàm MAKETIME có thể được sử dụng trong các phiên bản sau của MySQL:

  • MySQL 5.7, MySQL 5.6, MySQL 5.5, MySQL 5.1, MySQL 5.0, MySQL 4.1.1

Ví dụ

mysql> SELECT MAKETIME(10,5,5);

Ket qua:  '10:05:05'

 

mysql> SELECT MAKETIME(15,30,0);

Ket qua: '15:30:00'

 

mysql> SELECT MAKETIME(22,49,45);

Ket qua: '22:49:45'

 

mysql> SELECT MAKETIME(838,59,59);

Ket qua:  '838:59:59'

 

mysql> SELECT MAKETIME(-838,59,59);

Ket qua:  '-838:59:59'

26. Hàm MICROSECOND 

Hàm MICROSECOND của MySQL trả về phần micro giây của giá trị ngày.

Cú pháp của hàm MICROSECOND trong MySQL là:

MICROSECOND( date_value )

Trong đó:

  • date_value: Giá trị giờ hoặc ngày giờ mà từ đó micro giây được trích xuất từ ​​đó.

Hàm MICROSECOND có thể được sử dụng trong các phiên bản sau của MySQL:

  • MySQL 5.7, MySQL 5.6, MySQL 5.5, MySQL 5.1, MySQL 5.0, MySQL 4.1, MySQL 4.0, MySQL 3.23

Ví dụ

mysql> SELECT MICROSECOND('2019-03-28 17:20:04.000009');

Ket qua: 9

 

mysql> SELECT MICROSECOND('2019-03-28 17:20:04.123213');

Ket qua: 123213

 

mysql> SELECT MICROSECOND('2019-03-28');

Ket qua: 0

 

mysql> SELECT MICROSECOND('17:20:04.23456');

Ket qua: 234560

 

mysql> SELECT MICROSECOND('838:11:59.0000234');

Ket qua: 23

27. Hàm MINUTE

Hàm MINUTE trả về phần phút của giá trị ngày.

Cú pháp của hàm MINUTE trong MySQL là:

MINUTE( date_value )

Trong đó:

  • date_value: Giá trị giờ hoặc ngày giờ để trích xuất phút.

Hàm MINUTE có thể được sử dụng trong các phiên bản sau của MySQL:

  • MySQL 5.7, MySQL 5.6, MySQL 5.5, MySQL 5.1, MySQL 5.0, MySQL 4.1, MySQL 4.0, MySQL 3.23

Ví dụ

mysql> SELECT MINUTE('2019-03-29 08:45:20.000004');

Ket qua: 45

 

mysql> SELECT MINUTE('2019-03-29 08:45:20');

Ket qua: 45

 

mysql> SELECT MINUTE('2019-03-29');

Ket qua: 20

 

mysql> SELECT MINUTE('838:11:59');

Ket qua: 11

28. Hàm MONTH 

Hàm MONTH trả về phần tháng của giá trị ngày.

Cú pháp của hàm MONTH trong MySQL là:

MONTH( date_value )

Trong đó:

  • date_value: Một giá trị giờ hoặc ngày giờ để trích xuất tháng.

Lưu ý:

  • Hàm MONTH trả về tháng (một số từ 1 đến 12) cho một giá trị ngày.

Hàm MONTH có thể được sử dụng trong các phiên bản sau của MySQL:

  • MySQL 5.7, MySQL 5.6, MySQL 5.5, MySQL 5.1, MySQL 5.0, MySQL 4.1, MySQL 4.0, MySQL 3.23

Ví dụ

mysql> SELECT MONTH('2019-03-30');

Ket qua: 3

 

mysql> SELECT MONTH('2019-03-30 20:20:05');

Ket qua: 3

 

mysql> SELECT MONTH('2019-12-30');

Ket qua: 12

29. Hàm MONTHNAME

Hàm MONTHNAME trả về tên đầy đủ của tháng cho một ngày.

Cú pháp của hàm MONTHNAME trong MySQL là:

MONTHNAME( date_value )

Trong đó:

  • date_value: Giá trị ngày hoặc ngày giờ để trích xuất tên tháng đầy đủ.

Lưu ý:

  • Hàm MONTHNAME trả về tên đầy đủ của tháng (January, February, ... December) với giá trị ngày.

Hàm MONTHNAME có thể được sử dụng trong các phiên bản sau của MySQL:

  • MySQL 5.7, MySQL 5.6, MySQL 5.5, MySQL 5.1, MySQL 5.0, MySQL 4.1, MySQL 4.0, MySQL 3.23

Ví dụ

mysql> SELECT MONTHNAME('2019-03-30');

Ket qua: 'March'

 

mysql> SELECT MONTHNAME('2019-04-30');

Ket qua: 'April'

 

mysql> SELECT MONTHNAME('2019-06-30');

Ket qua: 'June'

30. Hàm NOW 

Hàm NOW trả về ngày giờ hiện tại.

Cú pháp của hàm NOW trong MySQL là:

NOW( )

Lưu ý:

  • Hàm NOW sẽ trả về ngày hiện tại dưới định dạng 'YYYY-MM-DD HH: MM: SS', nếu được sử dụng trong ngữ cảnh chuỗi.
  • Hàm NOW sẽ trả về ngày hiện tại dưới dạng định dạng YYYYMMDDHHMMSS, nếu được sử dụng trong ngữ cảnh số trong các phiên bản của MySQL trước MySQL 4.1.13.
  • Hàm NOW sẽ trả về ngày hiện tại dưới dạng định dạng YYYYMMDDHHMMSS.uuuuuu, nếu được sử dụng trong ngữ cảnh số trong các phiên bản của MySQL 4.1.13 trở lên.

Chức năng NOW có thể được sử dụng trong các phiên bản sau của MySQL:

  • MySQL 5.7, MySQL 5.6, MySQL 5.5, MySQL 5.1, MySQL 5.0, MySQL 4.1, MySQL 4.0, MySQL 3.23

Ví dụ

mysql> SELECT NOW();

Ket qua: '2019-03-30 05:16:40'

 

mysql> SELECT NOW() + 5;

Ket qua: 20190330051661

31. Hàm PERIOD_ADD 

Hàm PERIOD_ADD lấy một khoảng thời gian (được định dạng là YYMM hoặc YYYYMM) và thêm một số tháng được chỉ định cho nó.

Cú pháp của hàm PERIOD_ADD trong MySQL là:

PERIOD_ADD( period, number )

Trong đó:

  • period: Một khoảng thời gian được định dạng là YYMM hoặc YYYYMM.
  • number: Số tháng để thêm vào khoảng thời gian. Nó có thể là một giá trị dương hoặc âm

Trong đó:

  • Hàm PERIOD_ADD sẽ trả về kết quả được định dạng là YYYYMM.

Hàm PERIOD_ADD có thể được sử dụng trong các phiên bản sau của MySQL:

  • MySQL 5.7, MySQL 5.6, MySQL 5.5, MySQL 5.1, MySQL 5.0, MySQL 4.1, MySQL 4.0, MySQL 3.23

Ví dụ

mysql> SELECT PERIOD_ADD(201903,1);

Ket qua: 201904

 

mysql> SELECT PERIOD_ADD(201903,2);

Ket qua: 201905

 

mysql> SELECT PERIOD_ADD(201903,12);

Ket qua: 202003

 

mysql> SELECT PERIOD_ADD(201903,18);

Ket qua: 202009

 

mysql> SELECT PERIOD_ADD(201903,-1);

Ket qua: 201902

 

mysql> SELECT PERIOD_ADD(201903,-3);

Ket qua: 201812

 

mysql> SELECT PERIOD_ADD(201903,-5);

Ket qua: 201810

32. Hàm PERIOD_DIFF 

Hàm PERIOD_DIFF trả về chênh lệch theo tháng giữa hai thời gian(được định dạng là YYMM hoặc YYYYMM).

Cú pháp của hàm PERIOD_DIFF trong MySQL là:

1

PERIOD_DIFF( period1, period2 )

Trong đó:

  • period1period2: Một khoảng thời gian được định dạng là YYMM hoặc YYYYMM.

Lưu ý:

  • Các tham số period1 và period2 phải được định dạng là YYMM hoặc YYYYMM, nhưng không phải có cùng định dạng với nhau. Vì vậy, period1 có thể được định dạng là YYMM và period2 có thể được định dạng là YYYYMM hoặc ngược lại.

Hàm PERIOD_DIFF có thể được sử dụng trong các phiên bản sau của MySQL:

  • MySQL 5.7, MySQL 5.6, MySQL 5.5, MySQL 5.1, MySQL 5.0, MySQL 4.1, MySQL 4.0, MySQL 3.23

Ví dụ

mysql> SELECT PERIOD_DIFF(201904,201903);

Ket qua: 1

 

mysql> SELECT PERIOD_DIFF(201903,201901);

Ket qua: 2

 

mysql> SELECT PERIOD_DIFF(201908,202208);

Ket qua: -36

 

mysql> SELECT PERIOD_DIFF(1901,1908);

Ket qua: -7

 

mysql> SELECT PERIOD_DIFF(201911,1902);

Ket qua: 9

 

mysql> SELECT PERIOD_DIFF(1912,201909);

Ket qua: 3

33. Hàm QUARTER 

Hàm QUARTER trả về quý của giá trị ngày.

Cú pháp của hàm QUARTER trong MySQL là:

QUARTER( date_value )

Trong đó:

  • date_value: Một giá trị ngày hoặc ngày giờ để trích xuất quý.

Lưu ý:

  • Hàm QUARTER trả về quý (một số từ 1 đến 4) cho một giá trị ngày.
  • Những ngày có tháng Jan-Mar sẽ trả về 1.
  • Những ngày có tháng Apr-Jun sẽ trả về 2.
  • Những ngày có tháng Jul-Sep sẽ trả về 3.
  • Những ngày có tháng Oct-Dec sẽ trả về 4.

Hàm QUARTER có thể được sử dụng trong các phiên bản sau của MySQL:

  • MySQL 5.7, MySQL 5.6, MySQL 5.5, MySQL 5.1, MySQL 5.0, MySQL 4.1, MySQL 4.0, MySQL 3.23

Ví dụ

mysql> SELECT QUARTER('2019-03-28');

Ket qua: 1

 

mysql> SELECT QUARTER('2019-03-28 15:25:05');

Ket qua: 1

 

mysql> SELECT QUARTER('2019-04-20');

Ket qua: 2

 

mysql> SELECT QUARTER('2019-07-20');

Ket qua: 3

 

mysql> SELECT QUARTER('2019-10-25');

Ket qua: 4

34. Hàm SEC_TO_TIME

Hàm SEC_TO_TIME chuyển đổi số giây thành giá trị thời gian.

Cú pháp của hàm SEC_TO_TIME trong MySQL là:

SEC_TO_TIME( seconds )

Trong đó:

  • seconds: Một giá trị số đại diện cho số giây. Giá trị này có thể là số âm hoặc số dương.

Lưu ý:

  • Giá trị thời gian nằm trong khoảng từ '-838: 59: 59' đến '838: 59: 59'.
  • Hàm SEC_TO_TIME sẽ định dạng kết quả là "HH: MM: SS".

Hàm SEC_TO_TIME có thể được sử dụng trong các phiên bản sau của MySQL:

  • MySQL 5.7, MySQL 5.6, MySQL 5.5, MySQL 5.1, MySQL 5.0, MySQL 4.1, MySQL 4.0, MySQL 3.23

Ví dụ

mysql> SELECT SEC_TO_TIME(1);

Ket qua: '00:00:01'

 

mysql> SELECT SEC_TO_TIME(2);

Ket qua: '00:00:02'

 

mysql> SELECT SEC_TO_TIME(6006);

Ket qua: '01:40:06'

 

mysql> SELECT SEC_TO_TIME(12345);

Ket qua: '03:25:45'

 

mysql> SELECT SEC_TO_TIME(-6782);

Ket qua: '-01:53:02'

35. Hàm SECOND 

Hàm SECOND trả về phần giây của giá trị ngày.

Cú pháp của hàm SECOND trong MySQL là:

SECOND( date_value )

Trong đó:

  • date_value: Giá trị ngày hoặc ngày giờ để trích xuất giây.

Lưu ý:

  • Hàm SECOND trả về giây (một số từ 0 đến 59) cho một giá trị ngày.

Hàm SECOND có thể được sử dụng trong các phiên bản sau của MySQL:

  • MySQL 5.7, MySQL 5.6, MySQL 5.5, MySQL 5.1, MySQL 5.0, MySQL 4.1, MySQL 4.0, MySQL 3.23

Ví dụ

mysql> SELECT SECOND('2019-04-01 08:40:20.000005');

Ket qua: 20

 

mysql> SELECT SECOND('2019-04-01 08:40:21');

Ket qua: 21

 

mysql> SELECT SECOND('08:40:25');

Ket qua: 25

 

mysql> SELECT SECOND('838:10:59');

Ket qua: 59

36. Hàm STR_TO_DATE 

Hàm STR_TO_DATE lấy một chuỗi và trả về một ngày được chỉ định bởi mặt nạ định dạng.

Cú pháp của hàm STR_TO_DATE trong MySQL là:

STR_TO_DATE( string, format_mask )

Trong đó:

  • string: Giá trị chuỗi để định dạng là một ngày.
  • format_mask: Các định dạng để áp dụng cho string. Sau đây là danh sách các tùy chọn cho tham số format_mask. Các tham số này có thể được sử dụng trong nhiều kết hợp
Giá trị Mô tả
%a Viết tắt tên ngày trong tuần (Sun - Sat)
%b Viết tắt tên tháng (Jan đến Dec)
%c Tháng dưới dạng giá trị số (0 đến 12)
%D Ngày trong tháng dưới dạng giá trị số, theo sau là hậu tố (1st, 2nd, 3rd, ...)
%d Ngày trong tháng dưới dạng giá trị số (01 đến 31)
%e Ngày trong tháng dưới dạng giá trị số (1 đến 31)
%f Giây (000000 đến 999999)
%H Hour (00 đến 23)
%h hoặc %l Giờ (00 đến 12)
%i Phút (00 đến 59)
%j Ngày trong năm (001 đến 366)
%k Giờ (00 đến 23)
%l Giờ (1 đến 12)
%M Tên tháng đầy đủ (January đến December)
%m Tên tháng dưới dạng giá trị số (00 đến 12)
%p AM hoặc PM
%r Thời gian ở định dạng 12 giờ AM hoặc PM (hh: mm: ss AM / PM)
%S Giây (00 đến 59)
%s Giây (00 đến 59)
%T Thời gian ở định dạng 24 giờ (hh: mm: ss)
%U Tuần mà Chủ nhật là ngày đầu tuần (00 đến 53)
%u Tuần mà thứ Hai là ngày đầu tuần (00 đến 53)
%V Tuần mà Chủ nhật là ngày đầu tuần (01 đến 53)
%v Tuần mà thứ Hai là ngày đầu tuần (01 đến 53)
%W Tên ngày trong tuần đầy đủ (Sunday đến Saturday)
%w Ngày trong tuần trong đó Chủ nhật = 0 và Thứ bảy = 6
%X Năm trong tuần mà Chủ nhật là ngày đầu tuần
%x Năm trong tuần, thứ Hai là ngày đầu tuần
%Y Năm dưới dạng giá trị số, 4 chữ số
%y Năm dưới dạng giá trị số, 2 chữ số

Lưu ý:

  • Hàm STR_TO_DATE sẽ trả về giá trị ngày giờ, nếu chuỗi chứa cả phần ngày và thời gian hợp lệ.
  • Hàm STR_TO_DATE sẽ trả về giá trị ngày, nếu chuỗi chỉ chứa các phần ngày hợp lệ.
  • Hàm STR_TO_DATE sẽ trả về giờ, nếu chuỗi chỉ chứa các phần giờ hợp lệ.
  • Hàm STR_TO_DATE sẽ trả về giá trị NULL, nếu nó không thể trích xuất các phần ngày và giờ hợp lệ bằng cách sử dụng format_mask.

Hàm STR_TO_DATE có thể được sử dụng trong các phiên bản sau của MySQL:

  • MySQL 5.7, MySQL 5.6, MySQL 5.5, MySQL 5.1, MySQL 5.0, MySQL 4.1, MySQL 4.0, MySQL 3.23

Ví dụ

mysql> SELECT STR_TO_DATE('February 05 2019', '%M %d %Y');

Ket qua: '2019-02-05'

 

mysql> SELECT STR_TO_DATE('March,9,2019', '%M,%e,%Y');

Ket qua: '2019-03-09'

 

mysql> SELECT STR_TO_DATE('Friday, February 20, 2019', '%W, %M %e, %Y');

Ket qua: '2019-02-20'

 

mysql> SELECT STR_TO_DATE('2019,5,25 08', '%Y,%m,%d %h');

Ket qua: '2019-05-25 08:00:00'

 

mysql> SELECT STR_TO_DATE('2019,3,27 02,30,05', '%Y,%m,%d %h,%i,%s');

Ket qua: '2019-03-27 02:30:05'

 

mysql> SELECT STR_TO_DATE('11,10,35', '%h,%i,%s');

Ket qua: 'NULL'

37. Hàm SUBDATE 

Hàm SUBDATE trả về một ngày mà sau đó một khoảng thời gian/ngày nhất định đã bị trừ

Cú pháp của hàm SUBDATE trong MySQL là:

SUBDATE( date, INTERVAL value unit )

Hoặc

SUBDATE( date, days )

Trong đó:

  • date: Ngày mà khoảng thời gian nên được trừ.
  • days: Số ngày trừ vào ngày
  • value: Giá trị của khoảng giờ/ngày mà bạn muốn trừ. Bạn có thể chỉ định giá trị dương và âm cho tham số này
  • unit: Loại đơn vị của khoảng thời gian như NGÀY, THÁNG, PHÚT, GIỜ, v.v.

Hàm SUBDATE có thể được sử dụng trong các phiên bản sau của MySQL:

  • MySQL 5.7, MySQL 5.6, MySQL 5.5, MySQL 5.1, MySQL 5.0, MySQL 4.1, MySQL 4.0, MySQL 3.23

Ví dụ

mysql> SELECT SUBDATE('2019-04-01 09:45:20.000001', INTERVAL 5 MICROSECOND);

Ket qua: '2019-04-01 09:45:19.999996'

 

mysql> SELECT SUBDATE('2019-04-01 09:45:20', INTERVAL 23 SECOND);

Ket qua: '2019-04-01 09:44:57'

 

mysql> SELECT SUBDATE('2019-04-01 09:45:20', INTERVAL 20 MINUTE);

Ket qua: '2019-04-01 09:25:20'

 

mysql> SELECT SUBDATE('2019-04-01 09:45:20', INTERVAL 5 HOUR);

Ket qua: '2019-04-01 04:45:20'

 

mysql> SELECT SUBDATE('2019-04-01', INTERVAL 10 DAY);

Ket qua: '2019-03-22'

 

mysql> SELECT SUBDATE('2019-04-01', 11);

Ket qua: '2014-02-03'

 

mysql> SELECT SUBDATE('2019-04-01', INTERVAL 11 WEEK);

Ket qua: '2019-03-21'

 

mysql> SELECT SUBDATE('2019-04-01', INTERVAL 8 MONTH);

Ket qua: '2018-08-01'

 

mysql> SELECT SUBDATE('2019-04-01', INTERVAL 2 QUARTER);

Ket qua: '2018-10-01'

 

mysql> SELECT SUBDATE('2019-04-01', INTERVAL 4 YEAR);

Ket qua: '2015-04-01'

 

mysql> SELECT SUBDATE('2019-04-01 09:45:20.000001', INTERVAL '12.000001' SECOND_MICROSECOND);

Ket qua: '2019-04-01 09:45:08'

 

mysql> SELECT SUBDATE('2019-04-01 09:45:20.000001', INTERVAL '3:12.000001' MINUTE_MICROSECOND);

Ket qua: '2019-04-01 09:42:08'

 

mysql> SELECT SUBDATE('2019-04-01 09:45:20', INTERVAL '3:12' MINUTE_SECOND);

Ket qua: '2019-04-01 09:42:08'

 

mysql> SELECT SUBDATE('2019-04-01 09:45:20.000001', INTERVAL '1:03:12.000001' HOUR_MICROSECOND);

Ket qua: '2019-04-01 08:42:08'

 

mysql> SELECT SUBDATE('2019-04-01 09:45:20', INTERVAL '8:03:12' HOUR_SECOND);

Ket qua: '2019-04-01 01:42:08'

 

mysql> SELECT SUBDATE('2019-04-01 09:45:20', INTERVAL '5:03' HOUR_MINUTE);

Ket qua: '2019-04-01 04:42:20'

 

mysql> SELECT SUBDATE('2019-04-01 09:45:20.000001', INTERVAL '2 5:03:15.000001' DAY_MICROSECOND);

Ket qua: '2019-03-30 04:42:05'

 

mysql> SELECT SUBDATE('2019-04-01 09:45:20', INTERVAL '6 1:03:12' DAY_SECOND);

Ket qua: '2019-03-26 08:42:08'

 

mysql> SELECT SUBDATE('2019-04-01 09:45:20', INTERVAL '9 1:03' DAY_MINUTE);

Ket qua: '2019-03-23 08:42:20'

 

mysql> SELECT SUBDATE('2019-04-01 09:45:20', INTERVAL '5 6' DAY_HOUR);

Ket qua: '2019-03-27 03:45:20'

 

mysql> SELECT SUBDATE('2019-04-01', INTERVAL '2-3' YEAR_MONTH);

Ket qua: '2017-01-01'

38. Hàm SUBTIME 

Hàm SUBTIME trả về giá trị giờ/ngày giờ mà sau đó một khoảng thời gian nhất định đã bị trừ.

Cú pháp của hàm SUBTIME trong MySQL là:

SUBTIME( start_value, time )

Trong đó:

  • start_value: Giá trị giờ hoặc ngày giờ mà khoảng thời gian nên được trừ đi.
  • time: Giá trị của khoảng thời gian mà bạn muốn trừ. Nó có thể là một số dương hoặc âm.

Hàm SUBTIME có thể được sử dụng trong các phiên bản sau của MySQL:

  • MySQL 5.7, MySQL 5.6, MySQL 5.5, MySQL 5.1, MySQL 5.0, MySQL 4.1.1

Ví dụ

mysql> SELECT SUBTIME('2019-04-11 08:40:20.000005', '2.000005');

Ket qua: '2019-04-11 08:40:18'

 

mysql> SELECT SUBTIME('2019-04-11 08:40:20.000005', '5:7.000001');

Ket qua: '2019-04-11 03:33:20.000004'

 

mysql> SELECT SUBTIME('2019-04-11 08:40:20.000005', '6:3:2.000001');

Ket qua: '2019-04-11 02:37:18.000004'

 

mysql> SELECT SUBTIME('2019-04-11 08:40:20.000005', '2 6:3:2.000001');

Ket qua: '2019-04-09 02:37:18.000004'

 

mysql> SELECT SUBTIME('05:18:23.998998', '0.000007');

Ket qua: '05:18:23.998991'

 

mysql> SELECT SUBTIME('01:19:23.999998', '6.000003');

Ket qua: '01:19:17.999995'

 

mysql> SELECT SUBTIME('06:17:23.000001', '8:12:15.003441');

Ket qua: '-01:54:52.003440'

 

mysql> SELECT SUBTIME('03:12:22.000001', '-8:12:15.003441');

Ket qua: '11:24:37.003442'

39. Hàm SYSDATE 

Hàm SYSDATE trả về ngày và giờ hiện tại.

Cú pháp của hàm SYSDATE trong MySQL là:

SYSDATE( )

Lưu ý:

  • Hàm SYSDATE sẽ trả về ngày hiện tại dưới định dạng 'YYYY-MM-DD HH: MM: SS', nếu được sử dụng trong ngữ cảnh chuỗi.
  • Hàm SYSDATE sẽ trả về ngày hiện tại dưới dạng định dạng YYYYMMDDHHMMSS, nếu được sử dụng trong ngữ cảnh số.

Hàm SYSDATE có thể được sử dụng trong các phiên bản sau của MySQL:

  • MySQL 5.7, MySQL 5.6, MySQL 5.5, MySQL 5.1, MySQL 5.0, MySQL 4.1, MySQL 4.0, MySQL 3.23

Ví dụ

mysql> SELECT SYSDATE();

Ket qua: '2019-04-01 00:27:04'

 

mysql> SELECT SYSDATE() + 0;

Ket qua: 20190401002720

40. Hàm TIME 

Hàm TIME trích xuất giá trị giờ từ biểu thức giờ/ngày giờ.

Cú pháp của hàm TIME trong MySQL là:

TIME( expression )

Trong đó:

  • expression: Giá trị giờ hoặc ngày giờ mà từ đó giờ được trích xuất.

Lưu ý:

  • Nếu biểu thức không phải là giờ hoặc ngày giờ, hàm TIME sẽ trả về '00: 00: 00 '.
  • Nếu biểu thức là NULL, hàm TIME sẽ trả về NULL.

Hàm TIME có thể được sử dụng trong các phiên bản sau của MySQL:

  • MySQL 5.7, MySQL 5.6, MySQL 5.5, MySQL 5.1, MySQL 5.0, MySQL 4.1.1

Ví dụ

mysql> SELECT TIME('2019-04-01 08:20:05.000005');

Ket qua: '08:20:05.000005'

 

mysql> SELECT TIME('2019-04-01 20:20:20');

Ket qua: '20:20:20'

 

mysql> SELECT TIME('15:55:45');

Ket qua: '15:55:45'

 

mysql> SELECT TIME('Thoi gian la 15:55:45');

Ket qua: '00:00:00'

 

mysql> SELECT TIME(NULL);

Ket qua: NULL

41. Hàm TIME_FORMAT 

Hàm TIME_FORMAT định dạng thời gian như được chỉ định bởi mặt nạ định dạng.

 

Cú pháp của hàm TIME_FORMAT trong MySQL là:

TIME_FORMAT( time, format_mask )

Trong đó:

  • time: Thời gian để định dạng.
  • format_mask: Các định dạng để áp dụng cho thời gian. Sau đây là danh sách các tùy chọn cho tham số format_mask. Các tham số này có thể được sử dụng trong nhiều kết hợp.
Giá trị          Mô tả
%f Micro giây (000000 đến 999999) %f có sẵn trong MySQL 4.1.1
%H Giờ (00 đến 23 nói chung, nhưng có thể cao hơn)
%h Giờ (00 đến 12)
%l iờ (00 đến 12)
%i Phút (00 đến 59)
%p AM hoặc PM
%r Thời gian ở định dạng 12 giờ AM hoặc PM (hh: mm: ss AM / PM)
%S Giây (00 đến 59)
%s Giây (00 đến 59)
%T Thời gian ở định dạng 24 giờ (hh: mm: ss)

Lưu ý:

  • Hàm TIME_FORMAT chỉ định dạng giờ, phút, giây và micro giây được tìm thấy trong một giá trị thời gian.

Hàm TIME_FORMAT có thể được sử dụng trong các phiên bản sau của MySQL:

  • MySQL 5.7, MySQL 5.6, MySQL 5.5, MySQL 5.1, MySQL 5.0, MySQL 4.1, MySQL 4.0, MySQL 3.23

 Ví dụ

mysql> SELECT TIME_FORMAT('17:20:30', '%H-%i-%s');

Ket qua: '17-20-30'

 

mysql> SELECT TIME_FORMAT('17:20:30', '%h:%i:%s %p');

Ket qua: '05:20:30 PM'

 

mysql> SELECT TIME_FORMAT('17:20:30', '%h:%i%p');

Ket qua: '05:20PM'

 

mysql> SELECT TIME_FORMAT('17:20:30.000005', '%r');

Ket qua: '05:20:30 PM'

 

mysql> SELECT TIME_FORMAT('17:20:30.000005', '%T');

Ket qua: '17:20:30'

 

mysql> SELECT TIME_FORMAT('17:20:30.000005', '%f');

Ket qua: '000005'

42. Hàm TIME_TO_SEC 

Hàm TIME_TO_SEC chuyển đổi giá trị thời gian thành số giây.

Cú pháp của hàm TIME_TO_SEC trong MySQL là:

TIME_TO_SEC( time )

Trong đó:

  • time: Giá trị thời gian để chuyển đổi thành số giây.

Hàm TIME_TO_SEC có thể được sử dụng trong các phiên bản sau của MySQL:

  • MySQL 5.7, MySQL 5.6, MySQL 5.5, MySQL 5.1, MySQL 5.0, MySQL 4.1, MySQL 4.0, MySQL 3.23

Ví dụ

mysql> SELECT TIME_TO_SEC('00:00:05');

Ket qua: 5

 

mysql> SELECT TIME_TO_SEC('00:00:05.999999');

Ket qua: 5

 

mysql> SELECT TIME_TO_SEC('00:00:08');

Ket qua: 8

 

mysql> SELECT TIME_TO_SEC('05:15:25');

Ket qua: 18925

 

mysql> SELECT TIME_TO_SEC('09:45:05');

Ket qua: 35105

 

mysql> SELECT TIME_TO_SEC('-05:45:45');

Ket qua: -20745

43. Hàm TIMEDIFF 

Hàm TIMEDIFF trả về chênh lệch (được biểu thị dưới dạng giá trị thời gian) giữa hai giá trị giờ/ngày giờ.

Cú pháp của hàm TIMEDIFF trong MySQL là:

TIMEDIFF( time1, time2 )

Trong đó:

  • time1time2: Hai giờ/ngày giờ để tính toán sự khác biệt. Phép tính là time1 - time2.

Lưu ý:

  • Giá trị thời gian có thể dao động từ -838: 59: 59 'đến' 838: 59: 59 '.
  • Khi sử dụng hàm TIMEDIFF, cả time1 và time2 phải là cả hai giá trị giờ hoặc cả hai giá trị ngày giờ. Không thể có một giá trị giờ và giá trị kia là giá trị ngày giờ hoặc hàm TIMEDIFF sẽ trả về giá trị NULL.

Hàm TIMEDIFF có thể được sử dụng trong các phiên bản sau của MySQL:

  • MySQL 5.7, MySQL 5.6, MySQL 5.5, MySQL 5.1, MySQL 5.0, MySQL 4.1.1

 Ví dụ

mysql> SELECT TIMEDIFF('2019-04-01 20:30:20', '2019-03-30 18:10:07');

Ket qua: '50:20:13'

 

mysql> SELECT TIMEDIFF('15:15:08', '14:20:07');

Ket qua: '00:55:01'

 

mysql> SELECT TIMEDIFF('16:41:14', '12:10:08');

Ket qua: '04:31:06'

 

mysql> SELECT TIMEDIFF('2019-04-10 17:17:05', '2019-01-15 15:10:08');

Ket qua: '838:59:59'

 

mysql> SELECT TIMEDIFF('2019-04-15 17:12:05', '12:10:08');

Ket qua: NULL

44. Hàm TIMESTAMP 

Hàm TIMESTAMP chuyển đổi một biểu thức thành giá trị datetime và nếu được chỉ định sẽ thêm một khoảng thời gian tùy chọn vào giá trị.

Cú pháp của hàm TIMESTAMP trong MySQL là:

TIMESTAMP( expression, [ interval ] )

Trong đó:

  • expression: Một giá trị ngày hoặc ngày giờ sẽ được chuyển đổi.
  • [interval]: Không bắt buộc. Đó là một giá trị thời gian để thêm vào biểu thức.

Lưu ý:

  • Hàm TIMESTAMP sẽ trả về giá trị ngày giờ.

Hàm TIMESTAMP có thể được sử dụng trong các phiên bản sau của MySQL:

  • MySQL 5.7, MySQL 5.6, MySQL 5.5, MySQL 5.1, MySQL 5.0, MySQL 4.1.1

Ví dụ

mysql> SELECT TIMESTAMP('2019-04-01');

Ket qua: '2019-04-01 00:00:00'

 

mysql> SELECT TIMESTAMP('2019-04-01', '05:35:05');

Ket qua: '2019-04-01 05:35:05'

 

mysql> SELECT TIMESTAMP('2019-04-01', '05:35:05');

Ket qua: '2019-04-01 05:35:05'

45. Hàm TO_DAYS 

Hàm TO_DAYS chuyển đổi một ngày thành các ngày số.

Cú pháp của hàm TO_DAYS trong MySQL là:

TO_DAYS( date )

Trong đó:

  • date: Ngày để chuyển đổi thành ngày số.

Hàm TO_DAYS có thể được sử dụng trong các phiên bản sau của MySQL:

  • MySQL 5.7, MySQL 5.6, MySQL 5.5, MySQL 5.1, MySQL 5.0, MySQL 4.1, MySQL 4.0, MySQL 3.23

Ví dụ

mysql> SELECT TO_DAYS('2019-04-01');

Ket qua: 737515

 

mysql> SELECT TO_DAYS('19-04-01');

Ket qua: 737515

 

mysql> SELECT TO_DAYS('2019-04-01 06:35:00');

Ket qua: 737515

 

mysql> SELECT TO_DAYS('0000-01-01');

Ket qua: 1

 

mysql> SELECT TO_DAYS('0000-00-00');

Ket qua: NULL

46. Hàm WEEK 

Hàm Week trả về phần tuần của giá trị ngày.

Cú pháp của hàm Week trong MySQL là:

WEEK( date_value, [ mode ] )

Trong đó:

  • date_value: Một giá trị ngày hoặc ngày giờ để trích xuất tuần.
  • mode: Không bắt buộc. Nó được sử dụng để xác định ngày bắt đầu vào ngày nào. Nó có thể là một trong những điều sau đây:
mode giải thích trả về
0 Ngày đầu tuần là chủ nhật 0-53
1 Ngày đầu tuần là thứ Hai và tuần đầu tiên có hơn 3 ngày 0-53
2 Ngày đầu tuần là chủ nhật 1-53
3 Ngày đầu tuần là thứ Hai và tuần đầu tiên có hơn 3 ngày 1-53
4 Ngày đầu tuần là Chủ nhật và tuần đầu tiên có hơn 3 ngày 0-53
5 Ngày đầu tuần là thứ hai 0-53
6 Ngày đầu tuần là Chủ nhật và tuần đầu tiên có hơn 3 ngày 1-53
7 Ngày đầu tuần là thứ hai 1-53

Hàm WEEK có thể được sử dụng trong các phiên bản sau của MySQL:

  • MySQL 5.7, MySQL 5.6, MySQL 5.5, MySQL 5.1, MySQL 5.0, MySQL 4.1, MySQL 4.0, MySQL 3.23

Ví dụ

mysql> SELECT WEEK('2019-01-01');

Ket qua: 0

 

mysql> SELECT WEEK('2019-04-01');

Ket qua: 13

 

mysql> SELECT WEEK('2019-06-06');

Ket qua: 22

 

mysql> SELECT WEEK('2019-11-20');

Ket qua: 46

 

mysql> SELECT WEEK('2019-12-29');

Ket qua: 52

47. Hàm WEEKDAY 

Cú pháp của hàm WEEKDAY trong MySQL là:

WEEKDAY( date_value )

Trong đó:

  • date_value: Giá trị ngày hoặc ngày giờ để trích xuất chỉ mục ngày trong tuần.

Lưu ý: 

  • Hàm WEEKDAY trả về chỉ mục của ngày trong tuần (0 = Thứ Hai, 1 = Thứ Ba, 2 = Thứ Tư, 3 = Thứ Năm, 4 = Thứ Sáu, 5 = Thứ Bảy, 6 = Chủ Nhật) với giá trị ngày.

Hàm WEEKDAY có thể được sử dụng trong các phiên bản sau của MySQL:

  • MySQL 5.7, MySQL 5.6, MySQL 5.5, MySQL 5.1, MySQL 5.0, MySQL 4.1, MySQL 4.0, MySQL 3.23

Ví dụ

mysql> SELECT WEEKDAY('2019-04-02');

Ket qua: 1

 

mysql> SELECT WEEKDAY('2019-04-03');

Ket qua: 2

 

mysql> SELECT WEEKDAY('2019-04-20 08:40:15');

Ket qua: 5

48. Hàm WEEKOFYEAR 

Hàm WEEKOFYEAR trả về tuần trong năm cho một giá trị ngày.

Cú pháp của hàm WEEKOFYEAR trong MySQL là:

WEEKOFYEAR( date_value )

Trong đó:

  • date_value: Một giá trị ngày hoặc ngày giờ để trích xuất tuần trong năm.

Lưu ý:

  • Hàm WEEKOFYEAR trả về tuần trong năm (một số từ 1 đến 53) với giá trị ngày.
  • Hàm WEEKOFYEAR giả định rằng ngày đầu tiên của tuần là thứ Hai và tuần đầu tiên có hơn 3 ngày.

Hàm WEEKOFYEAR có thể được sử dụng trong các phiên bản sau của MySQL:

  • MySQL 5.7, MySQL 5.6, MySQL 5.5, MySQL 5.1, MySQL 5.0, MySQL 4.1, MySQL 4.0, MySQL 3.23

Ví dụ

mysql> SELECT WEEKOFYEAR('2019-04-02');

Ket qua: 14

 

mysql> SELECT WEEKOFYEAR('2019-01-02');

Ket qua: 1

 

mysql> SELECT WEEKOFYEAR('2019-12-29');

Ket qua: 52

49. Hàm YEAR 

Hàm YEAR trả về phần năm của giá trị ngày.

Cú pháp của hàm YEAR trong MySQL là:

YEAR( date_value )

Trong đó:

  • date_value: Một giá trị ngày hoặc ngày giờ để trích xuất năm.

Lưu ý:

  • Hàm YEAR trả về một năm có bốn chữ số (một số từ 1000 đến 9999) với giá trị ngày.

Hàm YEAR có thể được sử dụng trong các phiên bản sau của MySQL:

  • MySQL 5.7, MySQL 5.6, MySQL 5.5, MySQL 5.1, MySQL 5.0, MySQL 4.1, MySQL 4.0, MySQL 3.23

Ví dụ

mysql> SELECT YEAR('2019-04-01');

Ket qua: 2019

 

mysql> SELECT YEAR('2019-04-01 10:10:05');

Ket qua: 2019

 

mysql> SELECT YEAR('2020-04-01');

Ket qua: 2020

50. Hàm YEARWEEK 

Hàm YEARWEEK trả về năm và tuần cho một giá trị ngày.

Cú pháp của hàm YEARWEEK trong MySQL là:

YEARWEEK( date_value, [ mode ] )

Trong đó:

  • date_value: Một giá trị ngày hoặc ngày giờ để trích xuất năm và tuần.
  • mode: Không bắt buộc. Nó được sử dụng để xác định ngày bắt đầu vào ngày nào. Nó có thể là một trong những điều sau đây:
Giá trị Mô tả Trả về
0 Ngày đầu tuần là chủ nhật 0-53
1 Ngày đầu tuần là thứ Hai và tuần đầu tiên có hơn 3 ngày 0-53
2 Ngày đầu tuần là chủ nhật 1-53
3 Ngày đầu tuần là thứ Hai và tuần đầu tiên có hơn 3 ngày 1-53
4 Ngày đầu tuần là Chủ nhật và tuần đầu tiên có hơn 3 ngày 0-53
5 Ngày đầu tuần là thứ hai 0-53
6 Ngày đầu tuần là Chủ nhật và tuần đầu tiên có hơn 3 ngày 1-53
7 Ngày đầu tuần là thứ hai 1-53

Lưu ý:

  • Hàm YEARWEEK sẽ trả về giá trị năm cũng như giá trị tuần (trong khoảng 0-53 hoặc 1-53) tùy thuộc vào mode được chỉ định.
  • Hàm YEARWEEK có thể trả về giá trị năm khác với năm được hiển thị trong date_value do chế độ được chỉ định. Điều này chỉ nên xảy ra trong tuần đầu tiên của năm và tuần cuối cùng của năm.
  • Nếu bạn đang chạy MySQL 4.0.14+ và chế độ không được chỉ định, hàm YEARWEEK sẽ sử dụng giá trị trong biến hệ thống default_week_format làm mode.
  • Nếu bạn đang chạy phiên bản MySQL cũ hơn 4.0,14 và chế độ không được chỉ định, hàm YEARWEEK sẽ sử dụng 0 làm mode.Hàm YEARWEEK có thể được sử dụng trong các phiên bản sau của MySQL:
  • MySQL 5.7, MySQL 5.6, MySQL 5.5, MySQL 5.1, MySQL 5.0, MySQL 4.1, MySQL 4.0, MySQL 3.23.8

Ví dụ

mysql> SELECT YEARWEEK('2019-01-01');

Ket qua: 201852

 

mysql> SELECT YEARWEEK('2019-04-01');

Ket qua: 201913

 

mysql> SELECT YEARWEEK('2019-01-20');

Ket qua: 201903

 

mysql> SELECT YEARWEEK('2019-07-15');

Ket qua: 201928

 

mysql> SELECT YEARWEEK('2019-12-30');

Ket qua: 201952

 

mysql> SELECT YEARWEEK('2018-01-01');

Ket qua: 201753

 

Về bài trước...

                                 Bài tiếp theo...

 

 


Tài liệu lập trình Mysql

Bài viết trong cùng chuyên mục

Góc games giải trí



Cờ caro


Butterfly


Lật hình (luyện trí nhớ)

Cờ tướng ONLINE

Xếp hình

Ghép hình

15_PUZZLE

Kill ghosts

Banchim

Planet Defense

Tower game

Tower game

Plapy Bird (NH.Đông)

Vượt chướng ngại vật



0379136392

Thông tin liên hệ: Lê Văn Thuyên - ĐT: 0379136392 ; Gmail: lethuyen0379136392@gmail.com

Comment

 +   Lê Văn Thuyên-0379136392:Cảm ơn quý vị và các bạn đã vào Website của Lê Thuyên! Lê thuyên rất mong nhận được sự góp ý của quý vị và các bạn cho sự phát triển của website này. Xin chân thành cảm ơn!

Trả lời

 *   Dũng Trung-090567448:Lê Văn Thuyên0379136392--->Ok.Anh!

Trả lời

 *   Bé Nguyễn-benguyen@gmail,com:Lê Văn Thuyên0379136392--->Good job!

Trả lời

 +   -:

Trả lời

 +   -:

Trả lời

12271