Null in SQL

Status
Nicht offen für weitere Antworten.

miketech

Bekanntes Mitglied
Hi zusammen,

ich habe mal eine Frage zu SQL, im Speziellen zum Wert "NULL".

Wie geht Ihr denn damit um? Was bedeutet für Euch NULL?

Ich habe es bisher immer so gehandhabt, dass NULL ein Sonderfall ist, wie z.B. ein NULL-Pointer. Wenn ein String leer ist, ist er einfach "" und nicht NULL. Das resultiert darin, dass ca. 95% meiner Felder mit NOT NULL deklariert sind. NULL lasse ich nur selten zu.

Nun habe ich zur Zeit etwas mit Access zu tun und wenn ich hier ein Feld vom Typ String auf einen leeren String setzen möchte ist der Wert NULL und nicht "".

Wie ist es denn üblich? Macht man es vielleicht immer so, dass NULL == Leere Zeichenkette == Nicht belegt?

Gruß

Mike
 

Tobias

Top Contributor
NULL == nicht bekannt. Angenommen ich speichere Personen und bei einer Person ist die Telefonnummer nicht bekannt. Dann speichere ich bei dieser Person nicht einen leeren String, sondern NULL als Telefonnummer. Ein leerer String kann dann zum Beispiel heißen "besitzt kein Telefon".

mpG
Tobias
 

miketech

Bekanntes Mitglied
Oh ok :) Ich habe hier dann immer einfach "" vergeben. Das erklärt dann auch, wieso Access hier etwas unzufrieden ist.

Gruß

Mike
 

MASTERmind

Bekanntes Mitglied
Telefonnummern speichert man in einem richtigen DB-System ja eher als varchar. Ich würde nie ein NULL für kein Telefon abspeichern, weil wie willst Du das abgreifen mit einer richtigen PRogrammiersprache wie zum Beispiel Java???

if(!equalsIgnoreCase("NULL")).....übel übel...wenns n varchar akzeptiert schrieb doch 0 oder so rein oder keins...aber nicht null...da ist es kein wunder dass man durcheinander kommt!

==> null-Objekt
 

Tobias

Top Contributor
Äh, so?

Code:
String tel = resultset.getString("telefon");
if(tel == null) {
    System.out.println("Telefonnummer unbekannt!");
}
else {
    System.out.println(tel);
}

mpG
Tobias
 

miketech

Bekanntes Mitglied
Hi,

d.h. eine leere Telefonnummer ist bei Dir nicht NULL? Access speichert wie gesagt ein leeres Textfeld immer als NULL. In Java gibt es doch bestimmt Möglichkeiten ein Feld auf NULL zu prüfen.

Gruß

Mike

Edit: Zu spät :)
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen

Ähnliche Java Themen


Oben