Announcement

Collapse
No announcement yet.

Problem bei Select .. Upper mit Umlauten

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Problem bei Select .. Upper mit Umlauten

    Hi, <br>
    habe ein Problem bei einer Abfrage mit Umlauten.<br>
    Um dem User eine gute Suchmöglichkeit zu bieten will ich über eine Tabelle mit upper suchen, so dass die Fehlerquote die bei der Groß, Kleinschreibung gemacht wird wegfällt.<br><br>

    <br>
    Table: "KUNDEN"<br>
    Inhalt von Tabelle Kunden , spalte = Benutzer:
    <br><br>
    Müller<br>
    Bültmann<br>
    Jahns<br>
    Baur<br><br>

    select upper(benutzer) from Kunden
    <br><br>
    Als Ergebn. bekomm ich
    <br>
    MüLLER<br>
    BüLTMANN<br>
    JAHNS<br>
    BAUR<br>

    <br>
    Ist es möglich die Umlaute auch groß zu bekommen, weil sonst die Suche ja nicht mehr stimmt.

    <BR>
    habe auch schon das Collate auf De zu setzen aber bringt wohl nix .

    <br>
    Volker

  • #2
    Hallo Volker,<br><br>
    ein UPPER funktioniert auf einer <b>1-Byte-Binärsortierreihenfolge</b> nicht bei Umlauten. Welchen Zeichensatz und welche Collation verwendest Du? Wenn es ISO8859_1 ist, dann muss das Feld mit z.B. der Collation DE_DE angelegt worden sein, damit ein UPPER auf Umlauten korrekt durchgeführt wird. Du kannst auch mal versuchen beim UPPER explizit die Collation mitanzugeben, z.B.:
    <pre>
    SELECT UPPER(BENUTZER COLLATE DE_DE) FROM KUNDEN
    </pre>
    Kleiner Performance-Tipp. Willst Du in großen Datenbeständen case-insensitiv suchen, dann würde sich ein sogenanntes Schattenfeld (z.B. BENUTZER_UPPER) vom gleichen Typ wie BENUTZER anbieten, das über einen BEFORE INSERT/UPDATE Trigger mit den großgeschriebenen Entsprechungen gefüttert wird. Auf dieses Feld kannst Du dann einen Index drauflegen, und somit sollte die Suche auch in großen Datenmengen performant durchgeführt werden, solange Du kein LIKE '%IRGENDWAS%' verwendest.<br><br>
    Schöne Grüße,<br>
    Thoma
    Thomas Steinmaurer

    Firebird Foundation Committee Member
    Upscene Productions - Database Tools for Developers
    Mein Blog

    Comment

    Working...
    X