2009-07-23 11 views
4

Ich muss einen Fall in die Select legen, um zu prüfen, ob die Daten, die ich zu meiner Ansicht hinzufügen, NULL ist, in diesem Fall möchte ich nur eine Null eingeben, oder nicht.MySQL View überprüfen, ob Daten NULL ist

+0

Ich bin verwirrt. Sie können meines Wissens keine Informationen in der Datenbank in einem SELECT hinzufügen oder aktualisieren. Meinst du die Rückkehr "0"? Und ich bin mir nicht sicher, was du unter "oder nicht" meinst. Können Sie uns bitte weitere Informationen geben? – MitMaro

Antwort

12

Sie meinen so etwas?

SELECT IF(`field` IS NULL, 0, `field`)... 

Es gibt auch "IFNULL()":

SELECT IFNULL(`field`, 0)... 
+1

Dies ist ein klassischer Fall, in dem IF() und IFNULL() missbraucht werden, wo die allgemein akzeptierte COALESCE() eine bessere Idee ist. – longneck

2

Wenn Sie Ihre Tabelle erstellen, fügen Sie einfach NOT NULL zur Spaltenbeschreibung hinzu, z.

CREATE TABLE ( ID INT NOT NULL default '0' );

Dann, wenn keine Daten für das Feld gegeben wird, wird es auf den Standardwert von 0 gesetzt, die abgerufen werden, wenn Sie eine SELECT-Abfrage ausführen.

+1

Dies gilt nicht, wenn zum Beispiel der NULL das Ergebnis eines LINKEN OUTER JOIN ist. – longneck

7
select coalesce(field, 0) as 'field' from v; 

(doc)

Verwandte Themen