Я не верю, что существует один метод, который является переносимым для всех СУБД.
Проверка в одной из моих ссылок ( Поваренная книга SQL ) показывает, что ни одна СУБД не решает проблему так же. Я бы порекомендовал проверить Главу 8 этой книги, которая охватывает все различные методы для DB2, Oracle, PostgreSQL, MySQL.
Мне приходилось сталкиваться с этой проблемой в SQLite , и, хотя Поваренная книга SQL не обращается к этой СУБД, поэтому я немного упомяну об этом здесь. SQLite не имеет типа данных даты / времени ; Вы должны создать свои собственные, сохранив все данные даты / времени как TEXT
и убедитесь, что ваше приложение принудительно использует их форматирование. SQLite имеет набор функций преобразования даты / времени , которые позволяют добавлять номинальные дату / время при сохранении данных в виде строк. Если вам нужно добавить две длительности (ЧЧ: ММ: СС) друг к другу, однако, основываясь на данных, которые вы сохранили в текстовых столбцах, которые вы рассматриваете как данные даты / времени, вам нужно будет написать свои собственные функции (поиск «Определение пользовательских функций SQLite») и присоединить их к базе данных во время выполнения с помощью вызова sqlite3_create_function()
. Если вам нужен пример некоторых пользовательских функций, которые добавляют значения времени, дайте мне знать.