MySQL EXTRACT() 函数
MySQL EXTRACT() 函数返回日期/时间的单独部分,比如年、月、日、小时、分钟
EXTRACT(unit FROM date)
| 参数 | 说明 |
|---|---|
| date | 一个合法的日期表达式 |
| unit | 返回值的类型 |
unit 参数可以是以下值
| 值 | 说明 |
|---|---|
| MICROSECOND | 毫秒 |
| SECOND | 秒 |
| MINUTE | 分 |
| HOUR | 时 |
| DAY | 天 |
| WEEK | 周 |
| MONTH | 月 |
| QUARTER | 季度 |
| YEAR | 年 |
| SECOND_MICROSECOND | 秒.毫秒 |
| MINUTE_MICROSECOND | 分.秒.毫秒 |
| MINUTE_SECOND | 分.秒 |
| HOUR_MICROSECOND | 小时.分.秒.毫秒 |
| HOUR_SECOND | 小时.分.秒 |
| HOUR_MINUTE | 小时.分 |
| DAY_MICROSECOND | 小时.分.秒.毫秒 |
| DAY_SECOND | 小时.分.秒 |
| DAY_MINUTE | 小时.分钟 |
| DAY_HOUR | 小时 |
| YEAR_MONTH | 年.月 |
忽略说明中的点号 (.)
当 unit 为复合类型时,它就是把这些元数据简单的拼接在一起
范例
我们可以使用下面的语句返回当前的日期时间,当前日期,当前的日期.秒
SELECT NOW(), EXTRACT(DAY FROM NOW()) as day, EXTRACT(DAY_MICROSECOND FROM NOW()) as day_sec;
运行结果如下
mysql> SELECT NOW(), EXTRACT(DAY FROM NOW()) as day, EXTRACT(DAY_MICROSECOND FROM NOW()) as day_sec; +---------------------+------+--------------+ | NOW() | day | day_sec | +---------------------+------+--------------+ | 2017-05-18 10:01:15 | 18 | 100115000000 | +---------------------+------+--------------+