interval的两种用法
在MySQL中,interval有两种使用方式
方式一: 函数 interval()
注:通常用于数值分区段,返回结果为1,2,3....
可以配合count(**) 使用,统计每个数值区段的数量
语法结构:interval(number,n1,n2,n3,...nn)
其中number是判断的值,n1...n是分段的间隔
这个函数的返回值是段的位置:
如果number<n1,则返回0,
如果n1<=number<n2,则返回1,
如果n2<=number<n3,则返回2,
如此类推:
nn<=number,返回n;
方式二: 关键字 interval
作为关键字的interval,表示时间间隔,通常在date_add(),date_sub(),subdate()等日期函数中使用,常用于时间的加减法
归根到底,关键字interval与时间数据相互配合使用,表示时间间隔
-- 使用方式一
select now(),
date_add(now(), interval 2 day),
date_sub(now(), interval 2 day),
subdate(now(), interval 2 day);
-- 使用方式二
select now(),
now() - interval 2 day,
now() - interval '1 2' year_month;
-- 注意: '2 1 3 4' DAY_SECOND就代表2天1小时3分4秒
时间单位 | 小写 | 缩写 |
---|---|---|
MICROSECOND | microsecond | 微秒 |
SECOND | second | 秒 |
MINUTE | minute | 分钟 |
HOUR | hour | 小时 |
DAY | day | 天 |
WEEK | week | 周 |
MONTH | month | 月 |
QUARTER | quarter | 季 |
YEAR | year | 年 |
SECOND_MICROSECOND | second_microsecond | 秒_微秒 |
MINUTE_MICROSECOND | minute_microsecond | 分_微秒 |
MINUTE_SECOND | minute_second | 分_秒 |
HOUR_MICROSECOND | hour | microsecond |
HOUR_SECOND | hour_second | 小时_秒 |
HOUR_MINUTE | hour_minute | 小时_分 |
DAY_MICROSECOND | day_microsecond | 天_微秒 |
DAY_SECOND | day_second | 天_秒 |
DAY_MINUTE | day_minute | 天_分钟 |
DAY_HOUR | day_hour | 天_小时 |
YEAR_MONTH | year_month | 年_月 |