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?
🙏 Bitte helfen Sie uns das LibreOffice Forum zu erhalten. 🙏
Ihre Spende wird für die Deckung der laufenden Kosten sowie den Erhalt und Ausbau 🌱 des LibreOffice Forums verwendet.
🍀 Wir hoffen auf Ihre Unterstützung - vielen Dank!🍀
>> Dank Ihrer Unterstützung -> Keine Werbung für alle registrierten LibreOffice-Forum User! <<
🤗 Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet. 🤗
[gelöst] Ja/Nein-Feld Wert per SQL zuweisen?
-
- * LO-Experte *
- Beiträge: 3040
- Registriert: Mo 12. Nov 2012, 16:59
[gelöst] Ja/Nein-Feld Wert per SQL zuweisen?
Zuletzt geändert von Pit Zyclade am Sa 17. Mai 2025, 13:32, insgesamt 1-mal geändert.
LO 24.8.7.2 (X86_64) / Windows 11 64bit
Problem gelöst? Dann bitte im Betreff der ersten Nachricht [gelöst] voranstellen.
Problem gelöst? Dann bitte im Betreff der ersten Nachricht [gelöst] voranstellen.
-
- * LO-Experte *
- Beiträge: 829
- Registriert: Fr 28. Mär 2014, 10:41
Re: Ja/Nein-Feld Wert per SQL zuweisen?
Hallo Pit,
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
Brauchst du den indifferenten Fall? Sonst kannst du die Boolean-Tabellenspalte auch eingabepflichtig machen.Wie kann ich den indiferenten Fall per SQL zuweisen?
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
Freischreiber nutzt seit 1/2025 LibreOffice Version 7.2.7.2 unter Windows 11 und SplitDB mit HSQL 2.7.4.
Lesenswert: https://wiki.documentfoundation.org/ReleasePlan/de
Lesenswert: https://wiki.documentfoundation.org/ReleasePlan/de
-
- * LO-Experte *
- Beiträge: 3040
- Registriert: Mo 12. Nov 2012, 16:59
Re: Ja/Nein-Feld Wert per SQL zuweisen?
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!
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!
LO 24.8.7.2 (X86_64) / Windows 11 64bit
Problem gelöst? Dann bitte im Betreff der ersten Nachricht [gelöst] voranstellen.
Problem gelöst? Dann bitte im Betreff der ersten Nachricht [gelöst] voranstellen.
Re: Ja/Nein-Feld Wert per SQL zuweisen?
Moin, ist doch ganz einfach:
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. Gruß R
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. Gruß R
Windows 11: AOO, LO Linux Mint: AOO, LO
-
- * LO-Experte *
- Beiträge: 3040
- Registriert: Mo 12. Nov 2012, 16:59
Re: Ja/Nein-Feld Wert per SQL zuweisen?
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!
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!
LO 24.8.7.2 (X86_64) / Windows 11 64bit
Problem gelöst? Dann bitte im Betreff der ersten Nachricht [gelöst] voranstellen.
Problem gelöst? Dann bitte im Betreff der ersten Nachricht [gelöst] voranstellen.
An alle, die das LibreOffice-Forum gern nutzen und unterstützen wollen:
Bitte helfen Sie uns mit 7 Euro pro Monat.
Durch Ihren Beitrag tragen Sie dazu bei, unsere laufenden Kosten für die kommenden Monate zu decken.
Unkompliziert per Kreditkarte oder PayPal.
Als ein kleines Dankeschön werden Sie im LO-Forum als SUPPORTER gekennzeichnet.