Hi Folks !
ich habe mal eine generelle Frage zu dem Thema Datenbanken und den Inhalten der Felder einer beliebigen Datenbanktabelle.
Nehmen wir mal an, dass in einer Datenbanktabelle beliebige Felder vom Typ Char stehen. Bei der Deklaration dieser Datenbanktabelle kann man vorher nicht statisch festlegen, wieviele Zeichen die einzelnen Felder dieser Spalten aufnehmen sollen.
Es können somit mal kürzere und mal längere Strings in den feldern landen, also keine Strings fester Länge. Diese Felder der Tabelle werden immer wieder automatisch per Funktion mit den Strings unterschiedlciher Länge gefüllt.
Nun mal meine Frage an euch. Wenn in dieser Funktion nicht überprüft wird, ob die Strings Leerzeichen (z.B. links vor dem ersten Buchstaben oder rechts nach dem letzten Buchstaben und nicht in der Mitte des letzten Strings) enhalten, werden diese Leerzeichen automatisch vom DBMS in die Felder mitübernommen, so dass ein Vergleich zwischen zwei Strings, die eigentlich identisch sind, aber eben weil einer der Strings Leerzeichen enthält, doch letztenendes wieder unterschiedlich sind.
Ich hoffe, es ist halbwegs verständlich geworden, worauf ich hinaus möchte.
Greetz
Dennis
//Edit
Wie können solche Leerzeichen sicher abgefangen werden?
ich habe mal eine generelle Frage zu dem Thema Datenbanken und den Inhalten der Felder einer beliebigen Datenbanktabelle.
Nehmen wir mal an, dass in einer Datenbanktabelle beliebige Felder vom Typ Char stehen. Bei der Deklaration dieser Datenbanktabelle kann man vorher nicht statisch festlegen, wieviele Zeichen die einzelnen Felder dieser Spalten aufnehmen sollen.
Es können somit mal kürzere und mal längere Strings in den feldern landen, also keine Strings fester Länge. Diese Felder der Tabelle werden immer wieder automatisch per Funktion mit den Strings unterschiedlciher Länge gefüllt.
Nun mal meine Frage an euch. Wenn in dieser Funktion nicht überprüft wird, ob die Strings Leerzeichen (z.B. links vor dem ersten Buchstaben oder rechts nach dem letzten Buchstaben und nicht in der Mitte des letzten Strings) enhalten, werden diese Leerzeichen automatisch vom DBMS in die Felder mitübernommen, so dass ein Vergleich zwischen zwei Strings, die eigentlich identisch sind, aber eben weil einer der Strings Leerzeichen enthält, doch letztenendes wieder unterschiedlich sind.
Ich hoffe, es ist halbwegs verständlich geworden, worauf ich hinaus möchte.
Greetz
Dennis
//Edit
Wie können solche Leerzeichen sicher abgefangen werden?