Согласно SQL: 1999, date1-date0 должен давать вам значение типа INTERVAL, структуру, из которой вы сможете извлечь YEAR, MONTH, DAY и т. Д.
Я никогда не использовал это, и я не думаю, что это широко поддерживается (хотя я, возможно, не в курсе). Если вы выполняете арифметику времени на уровне базы данных и хотите быть совместимым с несколькими СУБД, обычное решение состоит в том, чтобы просто использовать целочисленные временные метки (любого разрешения, но время Unix является обычным) и простую старую целочисленную арифметику, которая является абсолютно надежной -platform.