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;
查看与时区相关的地区描述
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;
相关文章推荐
- 基于 Red Hat 的发行版 Oracle Linux 正式发布Oracle Linux 7.1
- Oracle Containers for J2EE远程安全漏洞(CVE-2014-0413)
- Oracle 10g R2不能使用EM的问题
- 表空间操作
- PreparedStatement中in子句的处理
- VMware下RedHat4.8_64位安装Oracle 10g RAC--简略脚本
- oracle sql日期比较
- 基于 Red Hat 的发行版 Oracle Linux 正式发布Oracle Linux 7.1
- OS block size和Oracle block size,查找OS Blocksize的方法
- oracle中创建数据库和表空间的几点总结
- 数据库自动备份脚本
- oracle的nvl函数的使用介绍
- 解决oracle用户连接失败的解决方法
- oracle的一些tips技巧
- Oracle 下的开发日积月累
- Oracle存储过程之数据库中获取数据实例
- Windows下ORACLE 10g完全卸载的方法分析
- Oracle 函数大全[字符串函数,数学函数,日期函数]第1/4页
- ORACLE LATERAL-SQL-INJECTION 个人见解