oracle日期,获取年月日等函数、日期函数、时区
获取年月日
年 select extract(year from sysdate) from dual;
月 select extract(month from sysdate) from dual;
日 select extract(day from sysdate) from dual;
格式化日期:
TO_CHAR(SYSDATE(),'YY/MM/DD HH24:MI:SS)
或 TO_DATE(SYSDATE(),'YY/MM/DD HH24:MI:SS)
select to_char(sysdate,'yyyy-MM-dd HH24:mi:ss') from dual;
select to_char(sysdate,'yyyy-MM-dd HH24:mm:ss') from dual;
select to_char(sysdate,'yy-mm-dd hh24:mi:ss') from dual
select to_date('2018-07-25 15:53:13','yyyy-mm-dd,hh24:mi:ss') from dual
如果把上式写成下面形式则会报错,因为小时hh是12进制。
select to_date('2018-07-25 15:54:34','yyyy-mm-dd,hh:mi:ss') from dual;
1 select to_date('2018-07-25 15:54:34','yyyy-mm-dd,hh:mi:ss') from dual;
获取某月天数
select to_char(last_day(to_date('2010-11-1','YYYY-MM-DD')),'DD') from dual;
1 select to_char(last_day(to_date('2010-11-1','YYYY-MM-DD')),'DD') from dual;
oracle 10g修改默认的日期格式:
alter session set nls_date_format ='yyyy-mm-dd';
alter session set nls_date_format = 'yyyy-mm-dd hh24:mi:ss';
1 alter session set nls_date_format ='yyyy-mm-dd';
2 alter session set nls_date_format ='yyyy-mm-dd hh24:mi:ss';
oracle时区
Oracle 的时区可以分为两种,一种是数据库的时区,一种是 session 时区,也就是客户端连接时的时区(经过实验,连接以后再修改客户端的时区,session 的时区不会更改)。
数据库的时区在创建数据库时可以通过在 create database 语句中加上SET TIME_ZONE = ' { { + | - } hh : mi | time_zone_region } ' 来指定,如果,不指定,默认是按照数据库所在的操作系统时区来设定的。
查看各种时间:
select sysdate,CURRENT_DATE,CURRENT_TIMESTAMP,LOCALTIMESTAMP from dual
查看时区:
select dbtimezone from dual;--数据库时区
select sessiontimezone from dual;--session时区
1 select dbtimezone from dual;--数据库时区
2 select session time zone from dual;--session时区
修改时区:
(东八区)
alter database set time_zone='+08:00';--东八区
ALTER SESSION SET TIME_ZONE = 'Australia/Sydney';--修改session时区
ALTER SESSION SET TIME_ZONE = 'Chile/EasterIsland';--修改session时区
ALTER SESSION SET TIME_ZONE='+08:00';--修改session时区
1 alter database set time_zone='+08:00';--东八区
2 ALTER SESSION SET TIME_ZONE ='Australia/Sydney';--修改session时区
3 ALTER SESSION SET TIME_ZONE ='Chile/EasterIsland';--修改session时区
4 ALTER SESSION SET TIME_ZONE='+08:00';--修改session时区
查询时区差时
TZ_OFFSET ( { 'time_zone_name'
| '{ + | - } hh : mi'
| SESSIONTIMEZONE
| DBTMEZONE }
)
SELECT TZ_OFFSET('US/Eastern') FROM DUAL;
SELECT TZ_OFFSET(DBTIMEZONE) FROM DUAL;
---------------------
作者:简单点_
来源:CSDN
原文:https://blog.csdn.net/hzq450013155/article/details/81212338
版权声明:本文为博主原创文章,转载请附上博文链接!