Eddie: SQL: Stringvergleich mit Groß-/Kleinschreibung

Hallo allerseits,

normalerweise habe ich in meinen SQL-Befehlen sowas stehen:

... WHERE name = 'Eddie' ...

wobei aber auch sowas ein Ergebnis bringt:

... WHERE name = 'eDDiE' ...

Wie kann ich nun erreichen, dass auf die korrekte Schreibweise geachtet wird?

Danke fuer die Hilfe,
EDDiE.

  1. hi,

    normalerweise habe ich in meinen SQL-Befehlen sowas stehen:
    ... WHERE name = 'Eddie' ...
    wobei aber auch sowas ein Ergebnis bringt:
    ... WHERE name = 'eDDiE' ...
    Wie kann ich nun erreichen, dass auf die korrekte Schreibweise geachtet wird?

    (ich nehme an, wir reden hier von mysql? dann:)

    am einfachsten, in dem du den datentyp änderst, siehe manual:

    "Der einzige Unterschied zwischen BLOB- und TEXT-Typen ist, dass beim Sortieren und Vergleichen bei BLOB-Werten Groß-/Kleinschreibung berücksichtigt wird, bei TEXT-Werten dagegen nicht. Mit anderen Worten ist ein TEXT ein BLOB ohne Berücksichtigung der Groß-/Kleinschreibung."
    http://www.mysql.de/doc/de/BLOB.html

    wenn du also statt deinem text-datentyp die von der grösse her entsprechende blob-version nimmst, dann wird case sensitive verglichen.

    gruss,
    wahsaga

  2. Hallo Eddie,

    ... WHERE name = 'eDDiE' ...
    Wie kann ich nun erreichen, dass auf die korrekte Schreibweise geachtet wird?

    vielleicht hilft dir BINARY (->http://www.mysql.de/doc/de/Case_Sensitivity_Operators.html):
    ... WHERE name = BINARY 'eDDiE' ...
    ?

    Grüße aus Nürnberg
    Tobias

    --
    Selfcode: sh:( fo:) ch:? rl:( br:< n4:& ie:% mo:| va:) de:] zu:) fl:( ss:| ls:[ js:|