GaussDB-时间间隔表达式
语法: INTERVAL EXPR UNIT
说明:EXPR表示数值,UNIT说明符用于解释数值的单位,如HOUR、DAY、WEEK等。关键字INTERVAL和说明符不区分大小写。
时间间隔表达式中UNIT的取值范围如下表1所示,允许任何标点符号分隔EXPR格式。表1中显示的是建议的分隔符。
INTERVAL表达式仅在sql_compatibility = 'MYSQL',且参数b_format_version值为5.7、b_format_dev_version值为s1时,才支持上述功能。
| UNIT取值范围 | 预期EXPR格式 |
|---|---|
| MICROSECOND | MICROSECONDS |
| SECOND | SECONDS |
| MINUTE | MINUTES |
| HOUR | HOURS |
| DAY | DAYS |
| WEEK | WEEKS |
| MONTH | MONTHS |
| QUARTER | QUARTERS |
| YEAR | YEARS |
| SECOND_MICROSECOND | 'SECOND_MICROSECOND' |
| MINUTE_MICROSECOND | 'MINUTES:SECONDS.MICROSECONDS' |
| MINUTE_SECOND | 'MINUTES:SECONDS' |
| HOUR_MICROSECOND | 'HOURS:MINUTES:SECONDS.MICROSECONDS' |
| HOUR_SECOND | 'HOURS:MINUTES:SECONDS' |
| HOUR_MINUTE | 'HOURS:MINUTES' |
| DAY_MICROSECOND | 'DAYS HOURS:MINUTES:SECONDS.MICROSECONDS' |
| DAY_SECOND | 'DAYS HOURS:MINUTES:SECONDS' |
| DAY_MINUTE | 'DAYS HOURS:MINUTES' |
| DAY_HOUR | 'DAYS HOURS' |
| YEAR_MONTH | 'YEAR_MONTH' |
示例:
| ``` gaussdb=# SELECT DATE_ADD('2018-05-01', INTERVAL 1 DAY); date_add ------------ 2018-05-02 (1 row) gaussdb=# SELECT DATE_SUB('2018-05-01', INTERVAL 1 YEAR); date_sub ------------ 2017-05-01 (1 row) gaussdb=# SELECT DATE'2023-01-10' - INTERVAL 1 DAY; ?column? --------------------- 2023-01-09 00:00:00 (1 row) gaussdb=# SELECT DATE'2023-01-10' + INTERVAL 1 MONTH; ?column? --------------------- 2023-02-10 00:00:00 (1 row)
| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
更多详情请参考GaussDB 文档中心:<https://doc.hcs.huawei.com/db/zh-cn/gaussdbqlh/24.1.30/productdesc/qlh_03_0001.html>