Frage:
Sql-Abfrage: Leere Spalte?
Aff-ott
2012-11-28 10:11:33 UTC
Wie sieht eine Sql-Query aus in der ich abfrage welche Einträge nicht alle einzelnen Attribute festgelegt sind ?
Habe eine Datenbank zB Schuhe
Schuh Größe Farbe
1 43 gelb
2 rot

Ich möchte jetzt den zweiten schuh finden da er keine größe Angegeben hat.
mit WHERE ´groesse´ IS NOT null geht es übrigens nicht...
Drei antworten:
?
2012-11-29 17:58:13 UTC
So würde ich es machen:



Schon bei der Einrichtung der Tabelle würde ich die Spalte "Größe" als Integer einrichten und den Standardwert 0 zuordnen. Schuhe, deren Größe nicht angegeben ist, lassen sich somit durch eine simple SQL-Abfrage auflisten.
🐟 Fish 🐟
2012-11-28 18:33:07 UTC
http://msdn.microsoft.com/de-de/library/ms188795.aspx

Du siehst also das diese Syntax durchaus zulässig ist. Du musst allerdings beachten das ein leeres Feld nicht zwingend NULL ist. Es kann auch einen Leerstring beinhalten. Folglich muss die Where Klausel lauten

WHERE ((´groesse´ IS NOT NULL) AND NOT (´groesse´ = ''))

Je nach datenbank weicht auch die Abfrage ab.

http://www.teialehrbuch.de/Kostenlose-Kurse/SQL/14731-Der-Vergleich-mit-dem-Wert-Null.html

Also probier auch

NOT (´groesse´ = NULL)
anonymous
2012-11-28 18:14:25 UTC
Unter Windows XP:

Start | Systemsteuerung | Leistung und Wartung | Verwaltung | Datenquellen (ODBC);

Unter älteren Windows-Versionen:

Start | Einstellungen | Systemsteuerung,

falls es hier einen ODBC-Datenquellen-Administrator gibt: anklicken,

sonst: Verwaltung | Datenquellen (ODBC) wählen.



SQL-Kommandos können mit 'psql' ausgeführt werden, zum Beispiel so (dabei nicht die abschließenden Semikolons vergessen):

psql MeineTestDatenbank

create table MeineTestTabelle ( i int, c char(3), vc varchar(8000) );

insert into MeineTestTabelle values ( 7, 'aBc', 'xyzXYZ' );

select * from MeineTestTabelle;


Dieser Inhalt wurde ursprünglich auf Y! Answers veröffentlicht, einer Q&A-Website, die 2021 eingestellt wurde.
Loading...