Преобразовать DB2 SQL Decimal во время - PullRequest
0 голосов
/ 28 июня 2018

Преобразование DB2 SQL Десятичный в время Мне нужно преобразовать десятичную во время. У меня есть поле десятичного времени, которое содержит такие данные:

123490 --12: 34: 90
4506–00: 45: 06
171205-17: 12: 05

и т.д.

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

Есть ли способ сделать это с помощью команд SQL или логики DB2 в операторе выбора?

1 Ответ

0 голосов
/ 29 июня 2018

Чтобы преобразовать его в правильный формат времени, вам нужно выполнить некоторые манипуляции со строками, такие как

cast( substr( right( '00' || '123456', 6) ,1,2) || ':' || substr( right( '00' || '123456', 6) ,3,2) || ':' || substr( right( '00' || '123456', 6) ,5,2) as time)

, где 123456 - ваш десятичный знак. Это подойдет и для вашего примера 4506. Вы также можете использовать инструкцию case, если хотите избегать добавления «00» каждый раз.

Для расчета разницы в минутах могут быть другие параметры расчета. Вы можете проверить функцию minutes_between, предоставленную Db2 11.1

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