Как определить количество раз между двумя в Oracle SQL

Автор: Carl Weaver
Дата создания: 22 Февраль 2021
Дата обновления: 23 Ноябрь 2024
Anonim
Курс SQL Базы данных ORACLE. Илья Хохлов. Урок 1-3. Структра SELECT
Видео: Курс SQL Базы данных ORACLE. Илья Хохлов. Урок 1-3. Структра SELECT

Содержание

Язык структурированных запросов (SQL) является наиболее широко используемым методом для извлечения и обработки данных, хранящихся в базе данных Oracle. В дополнение к другим мощным командам, используемым для обработки значений данных, Oracle SQL предоставляет метод для определения разницы между двумя моментами времени. Oracle не имеет отдельных форматов даты и времени, но использует один формат даты, который состоит из даты и времени в столбце.


направления

Oracle SQL может определить количество часов между двумя (часовое изображение от Николая Величко с Fotolia.com)
  1. Найдите два столбца даты в базе данных Oracle. В примере используются статическая дата и sysdate (системная дата). Предположим, что текущая системная дата - 1 января 2010 года в 12:00. Dual - это встроенный системный интерфейс Oracle, который полезен для тестирования запросов, которые не зависят от конкретной таблицы. Используйте эту команду для отображения двух значений даты.

    выберите to_char ('01 / 01/2010 ',' DD-MM-YYYY HH24: MI: SS ') в качестве' Current ', to_char (sysdate,' DD-MM-YYYY HH24: Время "от двойного;

    Ранее время | Текущее время ------------------------------ | ----------------------------- 01.01.2010 00:00:00 | 01.01.2010 12:00:00


  2. Измените запрос, чтобы вычесть текущее значение времени из предыдущего значения времени. Результатом является количество дней между двумя значениями даты. Оставшаяся часть десятичной точки представляет дни, а правая часть представляет любую дробную часть дня.

    выберите to_char ('01 / 01/2010 ',' DD-MM-YYYY HH24: MI: SS ') - to_char (sysdate,' DD-MM-YYYY HH24:

    разница

    0.25

  3. Измените запрос, чтобы умножить результат на 24, чтобы преобразовать дробное значение часов.

    select (to_char ('01 / 01/2010 ',' DD-MM-YYYY HH24: MI: SS ') - to_char (sysdate,' DD-MM-YYYY HH24: двойной;

    часов

    6

чаевые

  • Использует функцию to_char для изменения формата полей даты.
  • Используйте ту же процедуру, чтобы определить количество недель между двумя датами, изменив «умножить на 24» на «разделить на 7».

предупреждение

  • Не добавлять, умножать или делить значения даты.

Что вам нужно

  • База данных Oracle
  • Интерактивный инструмент SQL