Ich verwende SQL Server 2005. Ich habe eine Tabelle mit einer Textspalte und viele Zeilen in der Tabelle, in denen der Wert dieser Spalte nicht null ist, sondern leer. Der Versuch, mit '' zu vergleichen, ergibt diese Antwort:
Die Datentypen text und varchar sind im Operator ungleich nicht kompatibel.
Gibt es eine spezielle Funktion, um festzustellen, ob der Wert einer Textspalte nicht null, sondern leer ist?
Antworten:
quelle
OR mytextfield IS NULL
wann Ihre Kolumne sein kannNULL
mytextfield IS NULL *OR*
:-)quelle
Eigentlich müssen Sie nur den LIKE-Operator verwenden.
quelle
So erhalten Sie nur leere Werte (und keine Nullwerte):
So erhalten Sie sowohl Null- als auch Leerwerte:
So erhalten Sie nur Nullwerte:
So erhalten Sie andere Werte als null und leer:
Und denken Sie daran, LIKE-Phrasen nur bei Bedarf zu verwenden, da sie die Leistung im Vergleich zu anderen Sucharten beeinträchtigen.
quelle
myColumn IS NOT NULL AND my column = '';
?Verwenden Sie den Operator IS NULL:
quelle
quelle
SQL SELECT * FROM TABLE WHERE IFNULL(FIELD, '')=''
Ich weiß, dass dieser Beitrag uralt ist, aber ich fand ihn nützlich.
Mein Problem, den Datensatz mit einem nicht leeren Textfeld zurückzugeben, wurde nicht behoben, sodass ich dachte, ich würde meine Lösung hinzufügen.
Dies ist die where-Klausel, die für mich funktioniert hat.
quelle
Verwenden Sie die DATALENGTH- Methode, zum Beispiel:
quelle
Ich würde gegen SUBSTRING testen (textColumn, 0, 1)
quelle
Sind null und eine leere Zeichenfolge gleichwertig? Wenn dies der Fall ist, würde ich Logik in meine Anwendung aufnehmen (oder möglicherweise einen Auslöser, wenn die App "out-of-the-box" ist?), Um zu erzwingen, dass das Feld entweder null oder '' ist, aber nicht das andere. Wenn Sie mit '' gegangen sind, können Sie die Spalte auch auf NOT NULL setzen. Nur eine Sache der Datenreinheit.
quelle
Ich wollte, dass ein vordefinierter Text ("No Labs Available") angezeigt wird, wenn der Wert null oder leer ist, und mein Freund hat mir dabei geholfen:
quelle
Sie müssen beides tun:
SELECT * FROM Table WHERE Text IS NULL or Text LIKE ''
quelle
Ich weiß, dass es viele Antworten mit Alternativen zu diesem Problem gibt, aber ich möchte nur zusammenstellen, was ich als die beste Lösung von @Eric Z Beard & @Tim Cooper mit @Enrique Garcia & @Uli Köhler gefunden habe.
Falls erforderlich, um die Tatsache zu berücksichtigen, dass in Ihrem Anwendungsfallszenario nur Leerzeichen mit Leerzeichen identisch sein kann, da die folgende Abfrage 1 und nicht 0 zurückgibt.
Deshalb würde ich mich für etwas entscheiden wie:
quelle
Versuche dies:
Ich hoffe dir zu helfen!
quelle
Anstatt a zu
isnull
verwendencase
, ist es aus Leistungsgründen besser.In Ihrer Ausgabe müssen Sie Folgendes tun:
Code wie folgt:
quelle
quelle