Hallo, ich habe das Freitextfeld attr4 angelegt (int) mit einer Checkbox, um Artikel für den Auslandversand zu deaktivieren.
In der Datenbank sehe ich in der Tabelle “s_articles_attributes” in der attr4 Spalte bei ca. 300 Artikeln den Wert 0 bei allen anderen NULL.
Ich habe diese Artikel jedoch nicht angefasst. Bei dem Produktexport möchte ich nun mit einem eigenen Filter at.attr4 != true nur Artikel exportieren, welche die Checkbox NICHT aktiv haben.
So exportiert er mit jedoch nur die 300 Artikel, nicht diese wo NULL drin steht, warum wird in der DB nicht überall eine 0 gesetzt, wenn das Freitextfeld angelegt wird?
Beim Anlegen eines neuen Artikels wird der standard Wert “null” gesetzt. Beim Speichern des Artikels wird korrekt “0” geschrieben.
Problematisch wird es, wenn du das Freitextfeld anlegst, wenn du bereits Artikel im System hast. Dann bekommen alle diese Artikel den standard “null”.
Noch problematischer: NULL ist kein integer und nicht vergleichbar zu “0”, sondern ein eigener Datentyp.
Daher müsste deine Abfrage lauten: ( ( at.attr4 IS NULL ) OR ( at.attr4 = 0 ) )