Как мне указать значение, которое я пытаюсь выбрать, только время? - PullRequest
0 голосов
/ 26 октября 2018

Я пытаюсь выбрать только значение времени в стандартном 24-часовом формате.Я попытался описать ниже и не работает для меня (ошибка синтаксиса).

SELECT to_char('08:45','HH:Mi') AS TIME FROM DUAL;
SELECT to_date('08:45','HH:Mi') AS TIME FROM DUAL;

Желаемый результат:

|TIME|
|08:45|

1 Ответ

0 голосов
/ 26 октября 2018

Как сказал @ Гордон, в Oracle нет типа данных TIME. Ближайшей альтернативой этому будет INTERVAL DAY TO SECOND

Используйте TO_DSINTERVAL для преобразования вашей временной строки в интервал.

SELECT SYSDATE,
          TO_DSINTERVAL('00 ' || '08:45' || ':00') AS time,
SYSDATE + TO_DSINTERVAL('00 ' || '08:45' || ':00') AS date_plus_time
FROM dual;

SYSDATE             TIME                DATE_PLUS_TIME     
------------------- ------------------- -------------------
2018-10-26 18:12:58 +00 08:45:00.000000 2018-10-27 02:57:58
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...