Sql Ansi для управления значениями DateTime

Я разрабатываю систему с несколькими базами данных. Мне нужна разница между двумя датами в секундах.

В SQL Server у меня получилось:
DATEDIFF(second,stardate,enddate)
В MySql:
TIME_TO_SEC(TIMEDIFF(stardate,enddate))

Мой вопрос:
Есть ли в Sql Ansi функции для управления значениями DateTime?
то есть: есть функции datetime, общие для всех баз данных?

ReactJs | Supabase | Добавление данных в базу данных
ReactJs | Supabase | Добавление данных в базу данных
Это и есть ваш редактор таблиц в supabase.👇
Понимание Python и переход к SQL
Понимание Python и переход к SQL
Перед нами лабораторная работа по BloodOath:
1
0
1 237
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Согласно SQL: 1999, date1-date0 должна давать вам значение типа INTERVAL, структуру, из которой вы должны иметь возможность извлекать YEAR, MONTH, DAY и т. д.

Я никогда не использовал его и не думаю, что он широко поддерживается (хотя, возможно, я не в курсе). Если вы выполняете арифметику времени на уровне базы данных и хотите быть совместимыми с кросс-СУБД, обычное решение - просто использовать целочисленные метки времени (любого разрешения, но время Unix является обычным) и простую старую целочисленную арифметику, которая полностью надежна. -Платформа.

Более или менее, отсюда и положительный отзыв. Значения ИНТЕРВАЛ (например, в IBM Informix Dynamic Server) могут принадлежать к одному из двух классов - от ГОДА ДО МЕСЯЦА или ОТ ДНЯ ДО ВТОРОЙ. Действительно, у вас может быть ИНТЕРВАЛ ГОД ДО ГОДА, или МЕСЯЦ ДО МЕСЯЦА, или ДЕНЬ ДО МИНУТЫ, или ЧАС ДО СЕКУНДЫ и т. д., Включая только СЕКУНДУ.

Jonathan Leffler 16.01.2009 05:58

Другие вопросы по теме