Was hier als Kriterium seltsamerweise noch gar nicht zur Sprache kam ist, welche Datenbanken überhaupt unterstützt werden. Wenn man sich nur auf eine spezielle konzentriert ist es sicher weniger ein Problem die Logik in der Datenbank unterzubringen, als wenn man verschiedene Datenbanken unterstützt.
Die Antwort darauf ist meiner Meinung nach banal:
Wenn ich datenbankunabhängig sein muss, dann ist die Logik datenbankunabhängig in der Software.
Wenn das nicht geht, dann muss ich die Logik (jeweils datenbankspezifisch) mehrfach implementieren.
Oder nur das der Datenbank überantworten, was garantiert alle Datenbanken als Schnittmenge zur Verfügung stellen. Das kann ggfls. extrem wenig sein.
Zum Thema Datum:
Ein Datum, das kein Datum ist, wird nicht als Datum gespeichert.
Welche Alternative ich wähle, hängt von der Fachlichkeit (und ggfls. den datenbankspezifisch möglichen Alternativen) ab.