Oracle数据库支持的数据类型

Oracle 的日期类型_oracle

PL/SQL develop中新建表可选择的数据类型

Oracle 的日期类型_oracle_02

这里记录下日期数据类型吧,感觉日期类型比较复杂

日期型数据

DATE:存储日期类型,可以精确到秒,通常存储格式是年月日时分秒;常用。

TIMESTAMP:和DATE相比,这个可以精确到纳秒,存储时间精度更高;常用。

TIMESTAMP WITH TIMEZONE:和TIMESTAMP一样,只不过可以在设置时候指定时区。

INTERVAL YEAR TO MONTH:记录两个DATE或TIMESTAMP之间的以年和月的时间间隔。

INTERVAL DAY TO SECOND:记录两个DATE或TIMESTAMP之间的以天和秒的时间间隔。


DATE类型可以存储年月日,也可以存储年月日时分秒

Oracle数据库中的TIMESTAMP类型用于存储日期和时间信息,它可以提供比DATE类型更高的精度,能够表示到秒的小数点后9位1。使用TIMESTAMP类型来存储数据时,可以包含日期、小时、分钟、秒以及毫秒、微秒甚至纳秒(取决于定义的精度)的时间信息。

插入TIMESTAMP类型的数据
向表中插入数据时,可以直接指定TIMESTAMP类型的值。Oracle支持多种方式来指定时间戳,包括使用TIMESTAMP关键字、字符串格式的时间戳等。例如1

INSERT INTO t_timestamp (id, ts) VALUES (1, TIMESTAMP '2021-01-01 12:30:45.6789');
  • 1.

或者使用字符串格式的时间戳(注意:字符串格式需要与数据库设置的NLS_DATE_FORMAT参数兼容,或者使用TO_TIMESTAMP函数明确指定格式):

INSERT INTO t_timestamp (id, ts) VALUES (2, TO_TIMESTAMP('2021-01-01 12:30:45.6789', 'YYYY-MM-DD HH24:MI:SS.FF'));
  • 1.

TIMESTAMP类型的精度
在定义TIMESTAMP列时,可以指定精度,即秒之后的小数位数。如果不指定,Oracle将使用默认的精度(通常是6位小数)。例如,定义一个精度为9位小数的TIMESTAMP列:

CREATE TABLE t_timestamp_high_precision (
    id NUMBER,
    ts TIMESTAMP(9)
);
  • 1.
  • 2.
  • 3.
  • 4.

查看存到数据库内的样子

Oracle 的日期类型_日期类型_03