Как получить записи на основе даты из базы данных Oracle?

Опубликовано: 1 Сентября, 2022

DATE — это определенный SQL тип данных, который используется для хранения дат в столбце, разные системы управления базами данных хранят даты в разных форматах. MySQL использует 3 байта для хранения дат. Он хранит ДАТУ в формате «ГГГГ-ММ-ДД». Значение DATE находится в диапазоне от 1000-01-01 до 9999-12-31. Система управления базами данных Oracle хранит ДАТУ в формате «ММ-ДД-ГГГГ».

Здесь «ММ» — месяц, «ДД» — день, а «ГГГГ» — год. Microsoft SQL Server хранит дату в том же формате, что и MySQL.

Шаг 1: Создайте базу данных

Запрос:

CREATE DATABASE geeksforgeeks;

Шаг 2: Давайте создадим таблицу с именем сотрудников.

Запрос:

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: Мы хотим напечатать только те записи, чья дата присоединения равна «2000-06-13».

  • Получение записей по дате с помощью оператора '=' .

Запрос:

SELECT * FROM employee WHERE join_date = "2000-06-13";

Выход:

У нас есть только один сотрудник, чья дата присоединения — «2000-06-13».

  • Получение записей на основе DATE с использованием ключевого слова LIKE

Мы будем использовать ту же таблицу сотрудников, что и в приведенном выше примере. Теперь наша задача состоит в том, чтобы получить те записи, у которых join_date находится в 1996 году, независимо от дня и месяца.

Запрос:

SELECT * FROM employee WHERE join_date LIKE "1996-%";

Итак, у нас есть две записи, для которых join_date соответствует 1996 году.

  • Получение записей на основе DATE с использованием ключевого слова BETWEEN

Мы хотим получить те записи, где join_date находится между 1996 и 1997 годами.

Запрос:

SELECT * FROM employee WHERE join_date BETWEEN "1996-01-01" AND "1997-12-31";

Таким образом, в этот промежуток времени к компании присоединились четыре сотрудника.