[Frage] to_char

Kampfgummibaerlie

Datenbank-Guru
Beiträge
728
Bin heute Morgen darüber gestoßen, dass der Begriff in dieser Programmiersprache "to_char" bedeutet, um das Format in gewissen Maßen zu verändern.

Ich scheitere nur daran, den Constraint entsprechend zu setzen.

Hier meine bisherigen Codes:

1.: Datenbank erstellen:
Code:
create database Testerei;

2.: Tabelle mit gesamten Datum erstellen:
Code:
create table Cast_Daten (Datum date);

3.: Constraint hinzufügen:
Code:
ALTER TABLE Cast_Daten ADD CONSTRAINT keine_Feiertage CHECK (((to_char(datum, 'DD,MM')))!=24.12.);

Bei Punkt 3 gelingt es mir zwar, aber er lässt trotzdem den 24.12. im Jahre X eintragen...

Was mache ich im Constraint falsch? Wäre sehr dankbar für Hilfe ;)
Außer, es kommt ein Vorschlag, wie ich die Feiertage anders ausschließen könnte.

EDIT: guten Morgen :D
 
Werbung:
teilweise gelöst, bin nur unzufrieden damit, dass ich die ganzen invaliden Daten "verkehrt" eingeben muss ;)


Constraint:
Code:
alter table daten add constraint keine_feiertage_b CHECK (to_char(datum, 'DD.MM.') != '02.01.');

Test1:
Code:
INSERT INTO public.daten(
   datum) VALUES ('2024.12.24');

ERROR:
ERROR: new row for relation "daten" violates check constraint "keine_feiertage_b" DETAIL: Failing row contains (2024-12-24). ********** Error ********** ERROR: new row for relation "daten" violates check constraint "keine_feiertage_b" SQL-Status: 23514 Detail: Failing row contains (2024-01-02).

Test2:
Code:
INSERT INTO public.daten(
   datum) VALUES ('2017.12.24');

ERROR:
ERROR: new row for relation "daten" violates check constraint "keine_feiertage_b" DETAIL: Failing row contains (2024-12-24). ********** Error ********** ERROR: new row for relation "daten" violates check constraint "keine_feiertage_b" SQL-Status: 23514 Detail: Failing row contains (2024-01-02).

Habe das Ganze ewig mit "DD,MM" probiert, aber ja, ging nicht xD

Werde ein bisschen weiterstudieren, aber ich könnte damit leben, das Ganze "verkehrt" anzugeben, sprich im Format YY.MM.DD
Wäre auch bei diesem Problem auf Hilfe sehr erfreut :D

EDIT: Habe die teilweise falschen Error-Meldungen hier rein, ich glaube,
 
Zuletzt bearbeitet:
Zurück
Oben