Oracle DATE 数据类型介绍

在 Oracle 数据库中,DATE是一种用于存储日期和时间的数据类型。该类型支持从公元前 4712 年 1 月 1 日到公元 9999 年 12 月 31 日之间的日期和时间。

语法

DATE数据类型的语法如下:

DATE

使用场景

DATE数据类型通常用于存储日期和时间,例如在订单、日历、日志等应用中。它可以存储日期和时间的信息,例如年、月、日、小时、分钟和秒。

示例

下面是两个使用DATE数据类型的示例。

示例 1

创建一个名为employee的表,该表包含员工姓名、出生日期和雇佣日期。

CREATE TABLE employee (
  name VARCHAR2(50),
  birthdate DATE,
  hiredate DATE
);

employee表中插入一些数据。

INSERT INTO employee (name, birthdate, hiredate)
VALUES ('John', TO_DATE('1990-01-01', 'YYYY-MM-DD'), TO_DATE('2018-01-01', 'YYYY-MM-DD'));

INSERT INTO employee (name, birthdate, hiredate)
VALUES ('Mary', TO_DATE('1988-06-15', 'YYYY-MM-DD'), TO_DATE('2017-07-01', 'YYYY-MM-DD'));

检索出employee表中的数据。

SELECT * FROM employee;

输出:

NAME  BIRTHDATE   HIREDATE
----  ----------  ----------
John  01-JAN-90   01-JAN-18
Mary  15-JUN-88   01-JUL-17

示例 2

WHERE子句中使用DATE数据类型。

创建一个名为orders的表,该表包含订单号、客户姓名和下单日期。

CREATE TABLE orders (
  order_number NUMBER,
  customer_name VARCHAR2(50),
  order_date DATE
);

orders表中插入一些数据。

INSERT INTO orders (order_number, customer_name, order_date)
VALUES (1, 'John', TO_DATE('2023-04-01', 'YYYY-MM-DD'));

INSERT INTO orders (order_number, customer_name, order_date)
VALUES (2, 'Mary', TO_DATE('2023-03-15', 'YYYY-MM-DD'));

使用WHERE子句检索orders表中下单日期在指定日期之后的数据。

SELECT * FROM orders WHERE order_date > TO_DATE('2023-03-01', 'YYYY-MM-DD');

输出:

ORDER_NUMBER  CUSTOMER_NAME  ORDER_DATE
------------  -------------  ----------
1             John           01-APR-23

结论

DATE是 Oracle 数据库中用于存储日期和时间的数据类型。它可以存储从公元前 4712 年 1 月 1 日到公元 9999 年 12 月 31 日之间的日期和时间。DATE类型常用于订单、日历、日志等应用中,通过TO_DATE函数将字符串转换为DATE类型,可以方便地进行日期的处理。