Как получить записи на основе даты из базы данных Oracle?
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";
Таким образом, в этот промежуток времени к компании присоединились четыре сотрудника.