AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi SELECT * FROM … WHERE LIKE '%SONDERZEICHEN%'
Thema durchsuchen
Ansicht
Themen-Optionen

SELECT * FROM … WHERE LIKE '%SONDERZEICHEN%'

Ein Thema von PaulJr · begonnen am 16. Nov 2007 · letzter Beitrag vom 21. Nov 2007
 
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.222 Beiträge
 
Delphi 10.4 Sydney
 
#8

Re: SELECT * FROM … WHERE LIKE '%SONDERZEICHEN%'

  Alt 16. Nov 2007, 22:42
Zitat von PaulJr:
Ich habe hier ein einfaches SQL-Befehl präsentiert die mit irgendwelchen KOMPONENTEN
nichts zu tun hat:
Und woher weist du das? Wir haben eine große Anwendung die genau diese aufgeführte DBs unterstützt und wir können (per Unit-Tests abgesichert) x-Beliebige Unicode-Zeichen abfragen. Werde mal Montags gleich den ³-Fall als Sonderfall aufnehmen. Und jede Datenbank hat Eigenheiten bei solchen speziellen Dingen. Du kannst eine Oracle-Datenbank-Installation haben die nicht mal Sonderzeichen wie üöä speichern kann (u.U. "³" doch da es in der verwendeten Codepage der DB vorhanden ist).

Dein Problem wird einfach sein das die Datenbank über den Weg ODBC und bei Nicht-Verwendung von Parameter einfach eine "³" im Query-String so wie du ihn angegeben hast bei einer Like-Abfrage einfach gleichwertig wie eine "richtige" "3" betrachtet und dir alle Records mit "3" im Feld zurückliefert egal ob nun die "3" hoch oder tiefgestellt ist. Die Regeln die eine Datenbank bei solchen Entscheidungen verwendet sind abhängig von den in der Datenbank (bei manchen Datenbanken kann auch auf Tabellen oder Feldebene gesonderte Angaben vorgenommen werden) verwendeten Collations und Codepages sowie der verwendeten. Evtl. solltest du dir mal die Dokumentation von MySQL zu diesem Thema durchlesen. Und wenn du nur den generischen Weg über ODBC verwendest fehlen dir u.U. geeignete "Schalter" um das gewünschte Verhalten bei der verwendeten Datenbank abzufragen.

Hab gerade noch was für MS SQL zusammengegoogelt:
SQL Server and collation
Internationale Features in Microsoft SQL Server 2000

Leider habe ich in deinem ersten Beitrag überlesen das du für genau das ³-Problem nur beim MS SQL-Server probleme hast. Aber wenn du weiter in die Materie Datenbanken einsteigst wirst du früher oder später auch bei MySQL (später) und Oracle (früher) auf "komisches" Verhalten stoßen.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:36 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz