如何从 Oracle 数据库中检索基于日期的记录?
DATE 是一种 SQL 定义的数据类型,用于在列中存储日期,不同的数据库管理系统以不同的格式存储日期。 MySQL 使用 3 个字节来存储日期。它以类似“YYYY-MM-DD”的格式存储 DATE。 DATE 值的范围从 1000-01-01 到 9999-12-31。 Oracle 数据库管理系统以类似“MM-DD-YYYY”的格式存储 DATE。
这里'MM'是月份,'DD'是天,'YYYY'是年份。 Microsoft SQL Server 以与 MySQL 存储日期相同的格式存储日期。
第一步:创建数据库
询问:
CREATE DATABASE geeksforgeeks;
第 2 步:让我们创建一个名为 employees 的表。
询问:
CREATE TABLE employee
(emp_id INT, emp_fname VARCHAR(45),
emp_lname VARCHAR(45),join_date DATE,
PRIMARY KEY(emp_id));
第 3 步:现在我们将在员工表中插入值。
询问:
INSERT INTO employee VALUES
(100181, 'Utkarsh', 'Tyagi', '1996-01-31'),
(100182, 'Abhishek', 'Singh', '1996-03-21'),
(100183, 'Jake', 'Johnson', '1997-06-14'),
(100184, 'Abhimanyu', 'Rana', '1997-11-06'),
(100185, 'Akansha', 'Sharma', '1998-11-23'),
(100186, 'Priya', 'Yadav', '1999-10-10'),
(100187, 'Naina', 'Singhal', '2000-06-13');
第 4 步:现在让我们看看表格的内容。
询问:
SELECT * FROM employee;
输出:
第 5 步:我们只想打印 join_date 为 '2000-06-13' 的记录。
- 使用 '='运算符根据 DATE 检索记录。
询问:
SELECT * FROM employee WHERE join_date = '2000-06-13';
输出:
我们只有一名员工的 join_date 为“2000-06-13”。
- 使用LIKE 关键字根据 DATE 检索记录
我们将使用与上面示例中使用的相同的员工表。现在我们的任务是检索那些 join_date 为 1996 年的记录,而不考虑日期和月份。
询问:
SELECT * FROM employee WHERE join_date LIKE '1996-%';
所以我们有两条记录,其 join_date 是 1996 年。
- 使用BETWEEN关键字根据 DATE 检索记录
我们想要检索那些 join_date 在 1996 年和 1997 年之间的记录。
询问:
SELECT * FROM employee WHERE join_date BETWEEN '1996-01-01' AND '1997-12-31';
因此,在这段时间间隔内,有四名员工加入了公司。