De acordo com SQL:1999, date1-date0 deve fornecer um valor do tipo INTERVAL, uma estrutura da qual você deve extrair YEAR, MONTH, DAY, etc.
Eu nunca o usei e não acho que seja amplamente suportado (embora eu possa não estar atualizado). Se você estiver fazendo aritmética de tempo na camada de banco de dados e quiser ser compatível com o SGBD cruzado, a solução usual é simplesmente usar carimbos de data e hora inteiros (de qualquer resolução, mas o tempo Unix é comum) e aritmética de inteiros simples que é completamente confiável cruzada -plataforma.