SELECT * FROM "Firma" WHERE "TelefonZentrale" LIKE '' ORDER BY "FID" ASC

Antwort erstellen


BBCode ist eingeschaltet
[img] ist ausgeschaltet
[url] ist eingeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: SELECT * FROM "Firma" WHERE "TelefonZentrale" LIKE '' ORDER BY "FID" ASC

Re: SELECT * FROM "Firma" WHERE "TelefonZentrale" LIKE '' ORDER BY "FID" ASC

von Stephan » So, 17.03.2019 21:35

Hallo Robert,

Danke, das ist es.

Mich hatte irritiert das alle diese Felder gleichen Inhalt enthalten sollten, weil ich den per Makro reinschreibe (als Leerstring), ich hatte jedoch übersehen das es alte Datensätze gibt, die noch nie per Makro geändert wurden.


Gruß
Stephan

Re: SELECT * FROM "Firma" WHERE "TelefonZentrale" LIKE '' ORDER BY "FID" ASC

von RobertG » So, 17.03.2019 21:27

Hallo Stephan
Stephan hat geschrieben: So, 17.03.2019 20:35

Code: Alles auswählen

SELECT * FROM "Firma" WHERE "TelefonZentrale" LIKE '' ORDER BY "FID" ASC
Du fragst hier nur die Datensätze ab, in denen keine Text steht, nicht aber die, die überhaupt keine Daten enthalten, also NULL sind.

Code: Alles auswählen

SELECT * FROM "Firma" WHERE "TelefonZentrale" LIKE '' OR "TelefonZentrale" IS NULL ORDER BY "FID" ASC
Trifft hoffentlich das korrekte Ergebnis - wobei Du mit LIKE eigentlich nur arbeiten solltest, wenn Du Zeichenvergleiche machst, die mehrdeutig sind.

Code: Alles auswählen

SELECT * FROM "Firma" WHERE "TelefonZentrale" = '' OR "TelefonZentrale" IS NULL ORDER BY "FID" ASC
ist vermutlich schneller.

Gruß

Robert

SELECT * FROM "Firma" WHERE "TelefonZentrale" LIKE '' ORDER BY "FID" ASC

von Stephan » So, 17.03.2019 20:35

Hallo,

ich habe in Base folgende Abfrage erstellt:

Code: Alles auswählen

SELECT * FROM "Firma" WHERE "TelefonZentrale" LIKE '' ORDER BY "FID" ASC
Base liefert hierbei als Ergebnis-/Abfragetabelle 12 Datensätze, es müssten jedoch erheblich mehr sein

Ich habe in der Datentabelle in allen Datensätzen das Feld "TelefonZentrale" geprüft, es gibt wirklich mehr als 12 Datensätze wo das Feld leer ist, also nicht etwa ein Leerzeichen enthält

Das alles beobachtet in LO 6.0.3 mit der internen HSQLDB unter Windows 7.

Hat jemand eine mögliche Erklärung dafür?



und noch eine Beobachtung am Rande:
führe ich obiges SQL im Fenster "SQL-Anweisung ausführen" direkt aus, so erhalte ich scheinbar 13 Treffer. Ich konnte feststellen das der scheinbare 13. Treffer daher rührt das ein Datensatz in einem Feld (NICHT in FID) einen Text enthält der einen manuellen Zeilen-Umbruch beinhalten (STRG+ENTER), wodurch dieser Datensatz geteilt als quasi 2 Treffer ausgegeben wird.



Gruß
Stephan

Nach oben