MSSQL leeres varchar Feld
Stefan E
- datenbank
hallo
ich habe in einer MSSQL Tabelle ein varchar Feld mit der standart Länge 50. Wenn ich nun aber im Feld keinen Wert drin habe bekomme ich immer einen Space (also " ") aus der Datenbank bei einer Abfrage.
Liegt das an der NULL-Werte Einstellung? Oder an was sonst könnte es liegen?
Vielen Dank für die Hilfe
Hallo,
zunächst mal wäre es wichtig die genaue Felddefinition zu kennen:
Dann würde mich noch interessieren, wie du das abfragst. Bei uns wurden lange Zeit Abfragen der Form SELECT VALUE(x, ' ') AS x verwendet um in der Skriptsprache keine Probleme mit NULL-Werten zu haben und gleichzeitig ein entsprechendes HTML-Element schon mit "Inhalt" befüllt zu haben.
MfG
Rouven
meine Abfragen gehen nach folgendem Schema.
SELECT feld FROM tabelle WHERE ... mittels PHP
Die ausgabe hat dan jeweils eine länge von 1 und nicht 0. Und wenn ich den Inhalt z.B. an dem value eines html input feldes zuweise, hat es einen Abstand (Space, Leerschlag) drin.
Hi,
Die ausgabe hat dan jeweils eine länge von 1 und nicht 0. Und wenn ich den Inhalt z.B. an dem value eines html input feldes zuweise, hat es einen Abstand (Space, Leerschlag) drin.
trim() kann da abhilfe verschaffen. vll. noch ein empty() hinterher.
MfG
genau bei empty() hatte ich Probleme, weil ich jeweils abfragen möchte, ob das Feld leer ist oder nicht. Aber weil es ja nie leer wird, sondern mit einem Leerzeichen gefüllt wird, gibt mir empty() nie true.
Kann es nicht an einer DB einstellung liegen? Den das Projekt wurde zuerst auf MySQL programiert und nun für MSSQL umprogramiert und nur hier tritt das Problem auf.
An einigen wichtigen Stellen habe ich das empty() mit "if (strlen($var)<1)" ersetzt was auch funktioniert weil der Inhalt eigentlich nie nur ein Zeichen sein sollte.
Doch ist es nervig nun alles Anzupassen (evt. auch mit trim()).