У меня есть столбец varchar с именем begin_time
, в котором 24-часовое время хранится в виде varchar без форматирования времени, т. Е. 1330
Мне нужно преобразовать этот varchar в пригодную временную метку, дату и т. Д., Где я могу легко преобразовать varchar в стандартный формат времени (1:30 PM
)
Тип конечного формата не имеет значения , пока я могу конвертировать varchar в формат, которым я могу манипулировать, в стандартный формат.
Я пытался изучить Трюки формата Cognos (Эти функции предназначены для Metric Designer, а я использую Report Studio), но безрезультатно. Методы, которые я нашел, когда искал трюки, специфичные для оракула, казались слишком запутанными (используя безумно длинные правила регулярных выражений) для того, что мне нужно.
Если мне нужно указать дату, я могу использовать столбец start_date
и добавить время varchar.
Примечание: start_date
в формате date
Пример
select
to_date('08/27/2018','MM/DD/YYYY') as start_date
, '1300' as begin_time
from dual
В конечном итоге мне нужно просто вывести время как 1:00 PM
Любая помощь будет принята с благодарностью. Я бьюсь головой об стену об этом ... Я привык использовать проприетарные коды в течение некоторого времени и не имею большого опыта работы с настоящими форматами даты и времени.
Обновления ответов на вопросы
- Алекс Пул, я не утверждаю, что эта система лучшая ... Она предоставляется поставщиком. :)
-
BEGIN_TIME
- это всегда 4 символа
- Похоже, я немного переосмыслил ... Возможно, Littlefoot прибил его по голове, но, к сожалению, у меня не будет возможности проверить это до завтра.
Спасибо всем за быстрый ответ. У меня могут остаться волосы, когда этот запрос закончится:)
Заключительная мысль
Мой урок из этого прост: если вы имеете дело с форматами времени, не отказывайтесь от идеи использовать функцию формата Date .