日期是指年月日,时间是指时分秒
1 获取当前时刻的数据
1.1 获取当前时刻的日期和时间
1 | scss复制代码SELECT NOW() |
result:
1.2 获取当前时刻的日期信息
1.2.1 获取日期
(1)通过curdate()获取
1 | scss复制代码SELECT CURDATE() |
result:
(2) 通过now()获取
1 | vbscript复制代码SELECT DATE(NOW()) |
result:
1.2.2 获取日期中的年
1 | vbscript复制代码SELECT YEAR(NOW()) |
result:
1.2.3 获取日期中的月
1 | vbscript复制代码SELECT MONTH(NOW()) |
result:
1.2.4 获取日期中的日
1 | vbscript复制代码SELECT DAY(NOW()) |
result:
1.3 获取当前时刻的时间信息
1.3.1 获取当前时刻的时间
(1)通过curtime()获取
1 | scss复制代码SELECT CURTIME() |
result:
(2) 通过now()获取
1 | vbscript复制代码SELECT TIME(NOW()) |
result:
1.3.2 获取当前时刻的时
1 | vbscript复制代码SELECT HOUR(NOW()) |
result:
1.3.3 获取当前时刻的分
1 | vbscript复制代码SELECT MINUTE(NOW()) |
result:
1.3.4 获取当前时刻的秒
1 | vbscript复制代码SELECT SECOND(NOW()) |
result:
1.4 获取当前时刻的周信息
1.4.1 查看当前时刻是全年中的第几周
1 | vbscript复制代码SELECT WEEKOFYEAR(NOW()) |
result:
1.4.2 查看当前时刻是周几
1 | scss复制代码SELECT DAYOFWEEK(NOW()) |
result:
1.5 获取当前时刻的季度信息
1 | vbnet复制代码SELECT |
result:
2 日期和时间格式转换
2.1 格式转换
格式转换所使用到的是date_format()函数,其用法如下:
date_format(datetime, format)
其中,datetime表示要转换的具体的日期和时间,format表示要转换的格式
1 | perl复制代码SELECT DATE_FORMAT("2019-12-25", "%Y-%m-%d") |
result:
1 | perl复制代码SELECT DATE_FORMAT("2019-1-25", "%Y-%m-%d") |
result:
这里注意1和01的区别。原始日期为2019-1-25, 返回结果为2019-01-25
1 | perl复制代码SELECT DATE_FORMAT("2019-1-25 12:30:45", "%H:%i:%S") |
result:
2.2 日期提取
这里使用到的是extract()含糊,其形式如下:
extract(unit from datetime)
datetime表示具体的日期时间,unit表示要提取的部分
unit取值如下表:
unit | 说明 |
---|---|
year | 年 |
month | 月 |
day | 日 |
hour | 小时 |
minute | 分钟 |
second | 秒 |
week | 周数,全年第几周 |
1 | sql复制代码SELECT EXTRACT(year FROM "2019-12-23") |
result:
3 日期和时间运算
3.1 向后偏移日期和时间
向后偏移用到的是date_add()函数,其形式如下:
date_add(date, interval num unit)
date代表日期时间,interval 为固定参数,num为偏移量, unit为偏移的单位
1 | sql复制代码SELECT |
result:
3.2 向前偏移日期和时间
向后偏移用到的是date_sub()函数,其形式如下:
date_sub(date, interval num unit)
date代表日期时间,interval 为固定参数,num为偏移量, unit为偏移的单位
1 | sql复制代码SELECT |
result:
3.3 两个日期之间求差
1 | vbscript复制代码SELECT DATEDIFF("2019-01-07","2019-01-01") |
result:
3.4 两个日期之间比较
1 | vbnet复制代码SELECT |
result:
本文转载自: 掘金