oracle数据库中DATE类型和TO_DATE()函数介绍

介绍TO_DATE之前我们先看下 DATE 数据类型:

DATE 数据类型

DATE 数据类型允许你存储当前的时间点,但要注意的是,这个时间点是精确到秒的,

毫秒是无法用这个格式存储的

 

DATE数据类型存储 年,月,天,小时,分钟和秒

 

DATE数据类型的格式化 

SELECT
  value
FROM
  V$NLS_PARAMETERS
WHERE
  parameter = 'NLS_DATE_FORMAT';

 

在oracle数据库系统中,我们可以看到它的值是:

DD-MON-RR

我们可以通过修改NLS_DATE_FORMAT 的值来改变系统默认的日期输出格式:

ALTER SESSION SET NLS_DATE_FORMAT = 'YYYY-MM-DD';

我们来验证我们的修改,执行下面的语句

SELECT
  sysdate
FROM
  dual;

结果:

2020-06-11

进入主题 TO_DATE():

SELECT
  TO_DATE( '2020-06-11', 'yyyy-mm-dd' )
FROM
  dual;   

结果:

2020-06-11

除了TO_DATE()函数,我们还可以使用如下的语法通过指定DATE字符来实现:

DATE 'YYYY-MM-DD'

我们来创建一张表作为演示:

CREATE TABLE my_events (
    event_id NUMBER GENERATED BY DEFAULT AS IDENTITY,
    event_name VARCHAR2 ( 255 ) NOT NULL,
    location VARCHAR2 ( 255 ) NOT NULL,
    start_date DATE NOT NULL,
    end_date DATE NOT NULL,
    PRIMARY KEY ( event_id ) 
);

分别使用DATE字符和TO_DATE函数插入数据:

复制代码
INSERT INTO my_events
            (event_name,
             location,
             start_date,
             end_date)
VALUES     ( 'Oracle OpenWorld',
        'San Francisco, CA, USA',
            TO_DATE( 'October 01, 2017', 'MONTH DD, YYYY' ),
            TO_DATE( 'October 05, 2017', 'MONTH DD, YYYY')); 


INSERT INTO my_events
                (event_name,
                 location,
                 start_date,
                 end_date)
    VALUES     ( 'TechEd US',
            'Las Vegas, NV, USA'
                DATE '2017-09-25',
                DATE '2017-09-29' );
复制代码

结果:

SELECT
  *
FROM
  my_events;  

 

 

 我们可以看到都成功插入了

基本的DATE格式化元素介绍:

YYYY 四位数据的年 
YYY 年的后三位
YY  年的后两位
Y  年的最后以为

MM 月份(01-12)

DDD 年中的天(1-366)
DD 月中的天(1-31)
D 星期中的天(1-7)

HH 一天中的小时(1-12)
HH12 一天中的小时(1-12)
HH24 一天中的小时(0-23)24小时制

MI 分钟(0-59)

SS 秒(0-59)



 

posted @   我要去巴萨  阅读(3865)  评论(0编辑  收藏  举报
编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
点击右上角即可分享
微信分享提示