2016-04-20 6 views
0

Ich versuche, eine Einschränkung zu machen, um sicherzustellen, dass die finishdate ist mindestens 3 Jahre größer als die startdate.Sicherstellen, ein eingegebenes Datum ist mindestens 3 Jahre größer als ein anderes

Ich habe mich umgesehen, weiß aber nicht, wo ich anfangen soll?

Müsste ich eine dateadd Funktion verwenden?

Dank

+0

Oracle nicht über 'dateadd'. Du suchst wahrscheinlich nach 'add_months'. Da Sie es mit Check-Einschränkungen versehen haben, scheinen Sie zu wissen, wo Sie anfangen sollen. Haben Sie also versucht, eine Einschränkung hinzuzufügen? Es könnte helfen, Ihre vorhandene Tabellenstruktur und Ihren bisher besten Versuch zu zeigen und warum es falsch war. –

Antwort

2

Sie könnte es eine Reihe von Möglichkeiten tun, aber da Sie Check-Einschränkungen gefragt, soll wie folgt funktionieren:

CREATE TABLE myTable 
(
    id numeric(4), 
    startdate date, 
    finishdate date, 
    CONSTRAINT check_date 
    CHECK (finishdate >= add_months(startdate , 36)) 
); 
+0

Hallo, danke dafür habe ich eigentlich etwas sehr ähnliches versucht und es schien mir nur die falsche Syntax. –

Verwandte Themen