WEEKDAY()

Description

Returns the weekday index for date (0 = Monday, 1 = Tuesday, … 6 = Sunday). Returns NULL if date is NULL.

Syntax

  1. > WEEKDAY(date)

Arguments

ArgumentsDescription
dateRequired. The date to be formatted.

Examples

  • Example 1:
  1. mysql> SELECT WEEKDAY('2008-02-03 22:23:00');
  2. +------------------------------+
  3. | weekday(2008-02-03 22:23:00) |
  4. +------------------------------+
  5. | 6 |
  6. +------------------------------+
  7. 1 row in set (0.03 sec)
  • Example 2:
  1. drop table if exists t1;
  2. create table t1 (id int,d date, dt datetime,c char(10),vc varchar(20));
  3. insert into t1 values (1,"2021-01-13", "2021-01-13 13:00:00", "2021-12-15", "2021-12-16");
  4. insert into t1 values (1,"2021-01-31", "2021-01-31 13:00:00", "2021-12-15", "2021-12-16");
  5. insert into t1 values (2,"2022-02-15", "2022-02-15 18:54:29", "2021-02-15", "2021-02-15");
  6. insert into t1 values (2,"2022-02-28", "2022-02-28 18:54:29", "2021-02-15", "2021-02-15");
  7. insert into t1 values (3,"2000-02-29", "2000-02-29 18:54:29", "2021-02-15", "2021-02-15");
  8. insert into t1 values (4,"2023-03-17", "2021-02-17 23:54:59", "2021-03-17", "2021-03-17");
  9. insert into t1 values (5,"1985-04-18", "1985-04-18 00:00:01", "1985-04-18", "1985-04-18");
  10. insert into t1 values (6,"1987-05-20", "1987-05-20 22:59:59", "1987-05-20", "1987-05-20");
  11. insert into t1 values (7,"1989-06-22", "1989-06-22 15:00:30", "1989-06-22", "1989-06-22");
  12. insert into t1 values (8,"1993-07-25", "1987-07-25 03:04:59", "1993-07-25", "1993-07-25");
  13. insert into t1 values (9,"1995-08-27", "1987-08-27 04:32:33", "1995-08-27", "1995-08-27");
  14. insert into t1 values (10,"1999-09-30", "1999-09-30 10:11:12", "1999-09-30", "1999-09-30");
  15. insert into t1 values (11,"2005-10-30", "2005-10-30 18:18:59", "2005-10-30", "2005-10-30");
  16. insert into t1 values (12,"2008-11-30", "2008-11-30 22:59:59", "2008-11-30", "2008-11-30");
  17. insert into t1 values (13,"2013-12-01", "2013-12-01 22:59:59", "2013-12-01", "2013-12-01");
  18. insert into t1 values (14,null, null, null, null);
  19. mysql> select weekday(d),weekday(dt) from t1;
  20. +------------+-------------+
  21. | weekday(d) | weekday(dt) |
  22. +------------+-------------+
  23. | 2 | 2 |
  24. | 6 | 6 |
  25. | 1 | 1 |
  26. | 0 | 0 |
  27. | 1 | 1 |
  28. | 4 | 2 |
  29. | 3 | 3 |
  30. | 2 | 2 |
  31. | 3 | 3 |
  32. | 6 | 5 |
  33. | 6 | 3 |
  34. | 3 | 3 |
  35. | 6 | 6 |
  36. | 6 | 6 |
  37. | 6 | 6 |
  38. | NULL | NULL |
  39. +------------+-------------+
  40. 16 rows in set (0.01 sec)
  41. mysql> select weekday(c),weekday(vc) from t1;
  42. +------------+-------------+
  43. | weekday(c) | weekday(vc) |
  44. +------------+-------------+
  45. | 2 | 3 |
  46. | 2 | 3 |
  47. | 0 | 0 |
  48. | 0 | 0 |
  49. | 0 | 0 |
  50. | 2 | 2 |
  51. | 3 | 3 |
  52. | 2 | 2 |
  53. | 3 | 3 |
  54. | 6 | 6 |
  55. | 6 | 6 |
  56. | 3 | 3 |
  57. | 6 | 6 |
  58. | 6 | 6 |
  59. | 6 | 6 |
  60. | NULL | NULL |
  61. +------------+-------------+
  62. 16 rows in set (0.02 sec)