简介
SQL核心标准制定了4钟涉及日期和时间的列数据类型:
- DATE
- TIME
- TIMESTAMP
- INTERVAL
日期和时间的系统值
- CURRENT_DATE
- CURRENT_TIME
- CURREN_TIMESTAMP
日期和时间间隔操作
表达式 | 结果 |
---|---|
DATE + - INTEGER | DATE |
DATE + - TIME_INTERVAL | TIMESTAMP |
DATE +- TIME | TIMESTAMP |
INTERVAL +- INTERVAL | INTERVAL |
TIMESTAMP+- INTERVAL | TIMESTAMP |
TIME +- TIME_INTERVAL | TIME |
DATE - DATE | INTEGER |
TIME - TIME | INTERVAL |
INTEGER * INTERVAL | INTERVAL |
当包含的时间间隔为文字时,要在它之前使用INTERVAL 关键字,将间隔值使用单引号引起来,并按照时间日期格式表示这个间隔。
SELECT sale_date + interval '7' DAY
FROM sale
where sale_id = 10;
函数OVERLAPS
SQL 函数 OVERLAPS是单一用途的关键字,它根据两个日期的时间间隔的重叠情况, 返回TRUE OR FALSE.
语法如下:
SELECT *
from dual
where (state_date, end_date)
OVERLAPS
(state_date1, end_date1);
函数EXTRACT
EXTRACT 用来取处日期或时间的一部分。
一般格式是:
extract (date_time_field from date_time_value)
E.g:
select extract (year from sysdate)
from dual;
>> 2014