zoukankan      html  css  js  c++  java
  • 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)



  • 相关阅读:
    AtomicIntegerFieldUpdater 源码分析
    AtomicIntegerArray 源码分析
    AtomicInteger 源码分析
    ArrayBlockingQueue 源码分析
    ReentrantReadWriteLock 源码分析
    ReentrantLock 源码分析
    <Chapter 2>2-2-2.开发Java应用(Developing a Java App)
    <Chapter 2>2-2-2.开发Python应用(Developing a Python App)
    <Chapter 2>2-2-1.用户偏好模式(The User Preferences Pattern)
    <Chapter 2>2-2.开发应用(developing the Application)
  • 原文地址:https://www.cnblogs.com/crelle/p/13094593.html
Copyright © 2011-2022 走看看