您的位置:首页 > 数据库 > Oracle

ORACLE SQL 日期和事件函数

2015-06-18 14:45 337 查看
第十六章:日期和时间函数
查看与时区相关的地区描述
conn / as sysdba
select * from v$timezone_names;

将地区描述转换成时区
SELECT TZ_OFFSET('US/Eastern') FROM DUAL;

修改数据库的时间显示格式
alter session set nls_date_format='yyyy-mm-dd hh24:mi:ss';

查看当前会话的时区:
SELECT SESSIONTIMEZONE,CURRENT_DATE FROM DUAL;

修改当前会话的时区:
ALTER SESSION SET TIME_ZONE = '-5:0';

CURRENT_DATE = sysdate
CURRENT_TIMESTAMP 返回精确时间(绝对时间全球化时间戳)
LOCALTIMESTAMP 本地化时间戳

select CURRENT_TIMESTAMP from dual;
select LOCALTIMESTAMP from dual;

返回创建数据库时的时区选项:
SELECT DBTIMEZONE FROM DUAL;

会话级别的时区选项:
SELECT SESSIONTIMEZONE FROM DUAL;

SELECT EXTRACT(YEAR FROM SYSDATE) FROM DUAL;
select to_char(sysdate,'yyyy') from dual;

SELECT EXTRACT(month FROM SYSDATE) FROM DUAL;
select to_char(sysdate,'fmmm') from dual;

将字符串转换成绝对时间全球化时间戳
SELECT FROM_TZ(TIMESTAMP
'2000-03-28 08:00:00','3:00')
FROM DUAL;

将字符串转换成本地时间戳
SELECT TO_TIMESTAMP('2000-12-01 11:00:00','YYYY-MM-DD HH:MI:SS') FROM DUAL;

将字符串转换成绝对时间全球化时间戳
SELECT
TO_TIMESTAMP_TZ('1999-12-01 11:00:00 -8:00', 'YYYY-MM-DD HH:MI:SS TZH:TZM')
FROM DUAL;

从当前时间点增加一年零两个月:
select sysdate+TO_YMINTERVAL('01-02') from dual;

从当前时间点增加5天2小时:
select sysdate+TO_DSINTERVAL('5 2:00:00') from dual;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息