![]() |
Datenbank: MYSQL • Version: 4.1 • Zugriff über: Direkt
SQL Abfrage wenn nicht FALSE funktioniert nicht?
Hallo.
Einen Boolischen Wert kann ich -False -True -leer zuweisen WEnn ich aber True und Leer wissen möchte und die Anfragen Where Feld <> False anwende werden mir alle DS angezeigt. In diesen Fall muss ich Feld = '' OR Feld = True anwenden. Aber warum? |
Re: SQL Abfrage wenn nicht FALSE funktioniert nicht?
Versuchs mal mit not
|
Re: SQL Abfrage wenn nicht FALSE funktioniert nicht?
Null (also leer) muss immer explizit abgefragt werden, zumindest ist das bei Firebird so. Brauchst du denn den dritten Status? Wenn nicht statte das Feld doch einfach mit einem Default-Wert aus, dann hast du das Problem mit null nicht mehr
|
Re: SQL Abfrage wenn nicht FALSE funktioniert nicht?
In meinen Fall benötie ich alle 3 Werte.
Mit NOT funktioniert das aucht nicht. Bzw IS NOT False |
Re: SQL Abfrage wenn nicht FALSE funktioniert nicht?
wie mquadrat sagte...
SQL-Code:
is null
|
Re: SQL Abfrage wenn nicht FALSE funktioniert nicht?
Er muß aber auf jeden Fall aufpassen ! Entweder wirklich Default-Wert, also 0 oder 1. Dann hat er den dritten Wert aber nicht mehr. Der wird aber gebraucht, also klassischer Fall mit 3 (!) Bool-Werten. NULL (=undefiniert), 0, 1. Dann DARF er aber keinen Default Wert verwenden (sonst gibts eben kein NULL) sondern muß so vorgehen :
Delphi-Quellcode:
Wird das ganze im Programm selbst gebraucht, dann würde ich mir mal IsNull, IsEmpty usw. ansehen.
if X IS NOT NULL then begin
if X=0 then bla else blabla end else NullBlubb |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:26 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz