Это пример Oracle преобразования времени с помощью to_char() или to_date(). Вы можете удалить форматы день оставляя форматы времени только отделяя время до нескольких минут, секунд, а затем суммировать их как числа с to_number() ...
SELECT to_char(to_timestamp ('2013-02-14 10:07:47.000' , 'YYYY-MM-DD HH24:MI:SS.FF'),'DD-MON-YYYY HH24:MI:SS') start_date
FROM dual
/
SQL> 14-FEB-2013 10:07:47
SELECT to_date(to_char(to_timestamp ('2013-02-14 10:07:47.000' , 'YYYY-MM-DD HH24:MI:SS.FF'),'DD-MON-YYYY HH24:MI:SS'), 'DD-MON-YYYY HH24:MI:SS') start_date
FROM dual
/
SQL> 2/14/2013 10:07:47 AM
SELECT to_char(to_timestamp ('2013-02-14 10:07:47.000' , 'YYYY-MM-DD HH24:MI:SS.FF'),'HH24') start_date
FROM dual
/
SQL> 10
SELECT to_number(to_char(to_timestamp ('2013-02-14 10:07:47.000' , 'YYYY-MM-DD HH24:MI:SS.FF'),'MI')) minutes
FROM dual
/
SQL> 7
В вашем случае данных метки времени уже в то время как я должен был преобразовать свою дату to_timestamp в моем коде. Просто игнорируйте to_timestamp convesion и используйте to_char(), to_number() ...
Все мои примеры всегда проверяются. Скопируйте и вставьте последний пример, чтобы увидеть разницу с вашим кодом. Читать мои комментарии ...
Считывание с использованием РСУБД. – fancyPants
Временная метка представляет собой момент времени. Обычно вы ожидаете, что база данных SQL будет представлять продолжительность с типом данных INTERVAL. Разница в том, что добавление двух интервалов, которые выглядят так, имеет смысл: 3:00 + 2:00. Но добавление двух точек во времени, которые выглядят так, нет; «3 часа плюс 2 часа» - это буквально * ерунда. «3:00» (то есть 3 часа) выглядит точно так же, как «3:00» (значение 3:00), но они имеют * очень * разные значения. –
Я использую oracle sql. так какой тип данных я должен использовать для работы? – mariodelcy