Как работает ключевое слово Interval в Oracle? - PullRequest
3 голосов
/ 18 февраля 2020

У меня есть 2 запроса:

SELECT 300*interval '1' HOUR FROM DUAL  --   0 5:0:0.0 (Output)

SELECT 300* interval '1' minute FROM DUAL -- 12 12:0:0.0(Output) 

Я не могу понять, как работает интервал ключевого слова и в каком формате получен вывод?

Ответы [ 2 ]

1 голос
/ 18 февраля 2020

Ваш первый запрос:

--300 * 1 hour => 12 days 12 hours which is +000000012 12:00:00.000000000
SELECT 300 * ( INTERVAL '1' HOUR ) FROM DUAL; 

-- 300 * 1 minute => 300 Minute which is 300 / 60 = 5 Hours =>  +000000000 05:00:00.000000000
SELECT 300 * (interval '1' minute) FROM DUAL

Надеюсь, это поможет

1 голос
/ 18 февраля 2020

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

'1' HOUR

select interval '1' HOUR from dual; 

вернется через 1 час, затем вы умножите его на число 300, и вы получите:

+000000012 12:00:00.000000000

Потому что (300 * 1) / 24 = 12,5. или 12 дней и 12 часов.

'1' минута

То же самое происходит с минутами, когда ваш результат составляет 5 часов. Этот запрос:

select interval '1' minute FROM DUAL

вернет 1 минуту, а затем вы умножите его на число 300, чтобы получить:

+000000000 05:00:00.000000000

Потому что (300 * 1) / 60 = 5 или 5 часов , Вот демонстрационная версия

PS

В зависимости от используемого вами инструмента вы можете увидеть следующие результаты:

+ 12 12: 00: 00.000000

+ 00 05: 00: 00.000000

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...