MySQL DAYOFWEEK 函数详解
在数据库查询中,我们经常需要知道某个日期是星期几。MySQL 提供了 DAYOFWEEK 函数来直接获取这个信息。它返回一个整数索引,遵循 ODBC 标准:星期日对应 1,星期一为 2,以此类推,星期六则是 7。
基本用法
函数接收一个日期或日期时间表达式作为参数。如果传入的日期格式不正确或者为空,函数会返回 NULL。
SELECT DAYOFWEEK(date);
返回值说明
结果是一个介于 1 到 7 之间的整数。特别需要注意的是,当输入日期为 0000-00-00 或无效值时,返回值将是 NULL,这在处理脏数据时需要格外留意。
代码示例
下面是一个实际查询的例子,我们同时查看日期名称和对应的星期索引:
SELECT DAYNAME('2012-12-01'), DAYOFWEEK('2012-12-01');
执行结果如下:
| DAYNAME('2012-12-01') | DAYOFWEEK('2012-12-01') |
|---|---|
| 星期六 | 7 |
在这个例子中,DAYNAME 给出了具体的中文星期名,而 DAYOFWEEK 则返回了数字索引。在实际业务场景中,比如生成周报或筛选周末数据时,这个函数非常实用。

