Ich glaube jetzt nicht, dass die Funktion da extra Leerzeichen eingefügt hat ..
Das sollte keine Glaubensfrage, sondern eine Wissensfrage sein.
Gerade bei
CSV und Bulk-Insert kann es passieren, dass Daten mit fester Länge in eine Datenbank eingefügt werden, Sprich: Zeichenfolgen werden mit Leerzeichen bis zur Maximallänge der entsprechenden Spalte aufgefüllt.
Nehmen wir an, die Spalte
IP sei vom Typ VarChar(15) für z. B. die
IP 111.111.111.111. Wenn nun in dieser Spalte die
IP 1.2.3.4 steht, werden 8 Leerzeichen angefügt.
Führe bitte mal (sinngemäß) folgendes
SQL aus:
select * from tabelle where trim(ip) <> ip
Da sollte, wenn keine Leerzeichen angefügt wurden, eine leere Ergebnismenge rauskomen, wenn nicht, weißt Du, dass beim Bulk-Insert Leerzeichen an die Daten angehängt wurden.
Locate wird von mir oft benutzt, das von Dir beschriebene Problem ist da bisher noch nicht aufgetreten und ich kann es auch nicht nachvollziehen.
Zeig' und doch bitte mal alle SQLs, die Du bisher ausprobiert hast und deren Ergebnisse.
T.Locate('
IP', '1.2.3', [lopart.. ist irgendwie gut und schön, aber wie sieht der Quelltext dazu aus. Also z. B. das Selectstatement, das T-wasauchimmerdasgenauist zugewiesen wurde.
Kannst Du uns bitte mal den Quelltext von einem Beispielprogramm zur Verfügung stellen, in dem der Fehler reproduzierbar ist?
Oder mal 'nen kurzen Ausschnitt aus des
CSV (soweit möglich oder anonymisierte Beispieldaten), damit wir etwas genauer sehen können, worüber hier gerade geredet wird.