Oracle中的日期操作

一、日期显示格式的定义

  在oracle中,可以通过定义日期格式来控制日期类数据的输出,比如显示年、显示月、显示全日期等等,下面的例子,以24小时全日期的方式来显示当前的系统日期:

09:47:19 SYS@vbox88in*SQL>select to_char(sysdate,'YYYY-MM-DD HH24:MI:SS') from dual;

TO_CHAR(SYSDATE,'YY
-------------------
2019-11-13 09:47:36

  oracle中全部的日期格式如下:

日期字段格式说明
YY两位年,范围从00~99,如 07
RR两位年,范围从50~49,跨越了一个世纪
YYY三位年
YYYY四位年
MM两位月份,如11
RR两位年,范围从50~49,跨越了一个世纪
monabbreviated 字符集表示,中文显示11月,英文显示nov
monthspelled out 字符集表示,中文显示11月,英文显示november
DD当月第几天
DDD当年第几天
day当周第几天全写,从周日开始,周日为1,周六为7;中文显示值:星期五;英文显示值:friday
dy当周第几天简写,中文显示值:星期五,英文显示值:fri
HH2424小时制显示时间
HH12小时制显示时间
MI60进制显示分
SS60进制显示秒
毫秒ff显示毫秒,时间格式必须是timestamp
季度Q当年第几季度,显示1~4
W当月第几周
WW当年第几周

二、默认日期显示格式的修改

2.1 通过系统变量修改默认日期显示格式

  通过修改操作系统变量NLS_DATE_FORMAT可以达到修改默认日期显示格式的目的,比如,我们在linux系统环境下执行:

[oracle@oracle_server ~]$ export NLS_DATE_FORMAT='YYYY-MM-DD HH24:MI:SS'
[oracle@oracle_server ~]$ sqlplus scott/scott

SQL*Plus: Release 11.2.0.3.0 Production on 星期三 11月 13 10:43:13 2019

Copyright (c) 1982, 2011, Oracle.  All rights reserved.


连接到:
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

10:43:13 SCOTT@vbox88in*SQL>select sysdate from dual;

SYSDATE
-------------------
2019-11-13 10:43:26

已用时间:  00: 00: 00.00
10:43:26 SCOTT@vbox88in*SQL>

  当然,如果需要linux开机有效,我们可以在oracle用户下面的.bash_profile文件增加以下内容,重新登录即可生效:

export  NLS_DATE_FORMAT='YYYY-MM-DD HH24:MI:SS '

2.2 临时修改当前会话中的日期输出格式

  在sqlplus中执行:

SQL> alter session set nls_date_format = 'YYYY-MM-DD HH24:MI:SS';

2.3 以管理员身份修改props$表

  以管理员身份登陆sqlplus,然后执行:

update props$ set value = 'YYYY-MM-DD HH24:MI:SS' where parameter = 'NLS_DATE_FORMAT';
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值