oracle日期,获取年月日等函数、日期函数、时区

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

版权声明:本文为博主原创文章,转载请附上博文链接!

© 著作权归作者所有,转载或内容合作请联系作者

推荐阅读 更多精彩内容