BINARY oder COLLATE utf8_bin ?
WernerK
- datenbank
Hallo
Ich habe in einer MySQL DB varchar SPalten die mit der Kollation "utf8_general_ci" definiert sind.
Damit zwischen Groß- und Kleinschreibung unterschieden werden kann sehe ich zwei Möglichkeiten.
Mit "Collate utf8_bin"
...
AND
H.MyValue COLLATE utf8_bin = B.MyValue COLLATE utf8_bin
oder mit dem Operator BINARY
SELECT myname FROM mytable WHERE BINARY myvalue = ?
Was würdet ihr empfehlen bzw. gibt es eine Methode die vorzuziehen ist?
Gruss
Werner
Tach!
Was würdet ihr empfehlen bzw. gibt es eine Methode die vorzuziehen ist?
Was wird denn im Wesentlichen gebraucht? Sind es die binären Vergleiche, wie bei Usernamen, wo auch ä nicht gleich a sein darf? Die Kollationen enthalten ja auch noch solche Vergleichsregeln. Oder brauchst du eher diese Regeln und nur in Ausnahmefällen das Ergebnis eines exakten Vergleichs?
dedlfix.
Hallo
danke dir.
Was wird denn im Wesentlichen gebraucht? Sind es die binären Vergleiche, wie bei Usernamen, wo auch ä nicht gleich a sein darf? Die Kollationen enthalten ja auch noch solche Vergleichsregeln. Oder brauchst du eher diese Regeln und nur in Ausnahmefällen das Ergebnis eines exakten Vergleichs?
ja, es geht mir eher um den exakten Vergleich. Ich habe festgestellt das z.b. "rot" und "Rot" vorkommt. Ich brauche aber immer nur ein Ergebnis bzw.das genaue Wort.
Die Frage ist auch ob beide Möglichkeiten auch in SQLIte erlaubt sind? (es soll mal später vielleicht auch auf SQLite portiert werden..)
Ich habe in der SQLit Doku nur "BINARY" gefunden.
Gruss
Werner