Seite 1 von 1

[gelöst] Ja/Nein-Feld Wert per SQL zuweisen?

Verfasst: Do 15. Mai 2025, 14:59
von Pit Zyclade
Ich habe eine Tabelle mit ja/nein- Feldern und möchte mir per SQL händischen Eintrag ersparen:
z.B. heißt das Ja-Nein-Feld "Woh", ein Textfeld "Wohnung", die Tabelle "Blumenzubehör" und per SQL gebe ich ein:

update "Blumenzubehör" set "Woh" = TRUE where "Wohnung" <> '' Das klappt
update "Blumenzubehör" set "Woh" = FALSE where "Wohnung" = '' Das klappt ?
aber den indifferenten Fall (leeres Kästchen) klappt nicht, z.B.
update "Blumenzubehör" set "Woh" = 0 where "Wohnung" '''
oder
update "Blumenzubehör" set "Woh" = NULL where "Wohnung" ''

Wie kann ich den indiferenten Fall per SQL zuweisen?

Re: Ja/Nein-Feld Wert per SQL zuweisen?

Verfasst: Do 15. Mai 2025, 15:51
von Freischreiber
Hallo Pit,
Wie kann ich den indiferenten Fall per SQL zuweisen?
Brauchst du den indifferenten Fall? Sonst kannst du die Boolean-Tabellenspalte auch eingabepflichtig machen.
Vorher würde ich allerdings die NULL-Werte auf FALSE setzen.

Das wäre dann erst
UPDATE "Blumenzubehör" SET "Woh" = FALSE where "Wohnung" IS NULL (oder ... where "Wohnung" = '' ?)

und dann
ALTER TABLE "Blumenzubehör" ALTER COLUMN "Woh" SET NOT NULL

Bitte das nur an einer DB-Kopie durchführen. Ganz sicher bin ich mir nicht.

Gruß
Freischreiber

Re: Ja/Nein-Feld Wert per SQL zuweisen?

Verfasst: Fr 16. Mai 2025, 11:45
von Pit Zyclade
Danke Freischreiber !

Habe eine Kopie genommen. Habe dann die gesamte Spalte auf FALSE gesetzt und erst jetzt gemerkt, dass der leere Kasten = FALSE ist und nicht "-". Also, ich bin alt und befangen, benötige ja gar keine Lösung mehr!

Aber aus Neugier habe ich dann deine letzte Zeile
alter table ... alter column ... SET NOT NULL
probiert und auch das Gegenteil
alter table ... alter column ... SET NULL
Beide Schritte werden akzeptiert, jedoch ändert sich in der Spalte gar nichts (was auch bereits angezeigt wird, dass gar keine Zeile geändert wurde: 0 rows updated)

Also haben wir keinen Weg gefunden, das - Zeichen zu erzeugen. Aber dennoch schließe ich meine Frage, weil unnötig!

Re: Ja/Nein-Feld Wert per SQL zuweisen?

Verfasst: Fr 16. Mai 2025, 15:12
von F3K Total
Moin, ist doch ganz einfach:
P3.png
P3.png (25.52 KiB) 1778 mal betrachtet
P2.png
P2.png (25.38 KiB) 1778 mal betrachtet
P1.png
P1.png (25.81 KiB) 1778 mal betrachtet
Alle drei Stati, TRUE, FALSE, NULL werden richtig angezeigt, wenn man die Tabelle aktualisiert.
Es kann sein, dass das im Formular nicht so ist, wenn man den Dreifachstatus nicht aktiviert hat, Standard ist
Dreifacher Status = Nein, also auf Ja umstellen.
P4.png
P4.png (15.62 KiB) 1778 mal betrachtet
Gruß R

Re: Ja/Nein-Feld Wert per SQL zuweisen?

Verfasst: Fr 16. Mai 2025, 16:27
von Pit Zyclade
Danke F3K Total !!

Du hättest doch nur die SQL-Zeile schreiben müssen, dann hätte ich das gleich selber probiert.
Manchmal ist man leider geistig blind... (Ich meine mich damit)

Übrigens erst heute habe ich deinen Hinwei zur Markierfeld-Formatierung nachvollzogen (Dreifach oder nicht).
Danke auch dafür!