Wie man SQL-und Kleinschreibung
Ich habe eine Access-Datenbank eingerichtet, die auf einen domain-hosting-service. Ich bin anschließen, um es durch SQL. Aber ich brauche alle meine Fragen groß - /Kleinschreibung beachtet, und soweit ich weiß, die Art und Weise der server konfiguriert ist, auf der hosting-service ist es NICHT case-Sensitiv. Gibt es einen bestimmten Befehl, den ich verwenden könnte, in meine SQL-was wäre die Abfrage case-sensitive?
- Sie können finden Sie inspiration in diesem Zusammenhang, aber nicht zu einer doppelten Frage: stackoverflow.com/questions/153944/is-sql-syntax-case-sensitive
- Welche Datenbank-engine verwenden Sie?
- danke, ich habe schon gesehen, diese Frage, bevor ich diese Frage gestellt.
- Ich glaube, ich bin mit Microsoft-Datenbank-engine.
- Dann können Sie die Idee von @Niklas 's Antwort, aber Sie können Ihre Standard-Sortierung für die gesamte Datenbank groß-und Kleinschreibung.
Latin1_General_CS_AS
ist ein Beispiel. - Also, wie würde ich die default-Sortierung groß-und Kleinschreibung?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich denke, Sie können hinzufügen, Sortieren nach der WHERE-Klausel.
SELECT * FROM table WHERE username='username' AND password COLLATE password='password'
Wo habe ich bloß falsch gemacht?SELECT * FROM table WHERE username COLLATE Latin1_General_CS_AS = 'username' AND password COLLATE Latin1_General_CS_AS = 'password'
. Ich bin noch immer ein syntax Fehler (fehlender operator).SELECT * FROM table WHERE username = 'username' COLLATE Latin1_General_CS_AS
ALTER TABLE table ALTER COLUMN username varchar(10) COLLATE Latin1_General_CI_AS NOT NULL
ALTER TABLE
- Anweisung. Gibt es irgendetwas, was ich tun müssen, um die DB, bevor Sie diesen code ausführen? Gerade jetzt, das ist die erste Abfrage, die ausgeführt wird. Beachten Sie auch, ich bin mit der Microsoft ODBC-Treiber, wenn das macht keinen Unterschied.Brauchen Sie, um die gesamte DB auf groß-und Kleinschreibung, oder ist es nur ein Teil, der einige Abfragen. Wenn es ein Suchbegriff, dann können Sie diese verwenden, um zu erzwingen, case sensitive matching:
0 in der Signatur der Methode ist zum ausführen einer binären Vergleich geben Sie die groß-und Kleinschreibung, die Sie wollen. Es gibt eine Ganzzahl zurück.
Dokumentation
WHERE ASC(text1) = ASC(text2)
ich bekomme eine invalid procedure call. Für die erste, die Sie vorgeschlagen, wie würde das funktionieren? Würde ich nur gebenWHERE StrComp('myText1','MYTeXt1')
?