Oracle
 sql >> Datenbank >  >> RDS >> Oracle

Grund, warum Oracle zwischen Groß- und Kleinschreibung unterscheidet?

Standardmäßig wird bei Oracle-Bezeichnern (Tabellennamen, Spaltennamen usw.) die Groß-/Kleinschreibung nicht beachtet . Sie können Groß- und Kleinschreibung berücksichtigen, indem Sie sie in Anführungszeichen setzen (z. B.:SELECT * FROM "My_Table" WHERE "my_field" = 1 ). SQL-Schlüsselwörter (SELECT , WHERE , JOIN , usw.) wird immer zwischen Groß- und Kleinschreibung unterschieden.

Auf der anderen Seite wird bei Zeichenfolgenvergleichen zwischen Groß- und Kleinschreibung unterschieden (zB:WHERE field='STRING' stimmt nur mit Spalten überein, in denen es 'STRING' ist ) standardmäßig. Sie können Groß- und Kleinschreibung ignorieren, indem Sie NLS_COMP festlegen und NLS_SORT auf die entsprechenden Werte (zB:LINGUISTIC und BINARY_CI , bzw.).

Hinweis:Beim Abfragen von Datenwörterbuchansichten (z. B.:dba_tables ) werden die Namen in Großbuchstaben geschrieben, wenn Sie sie ohne Anführungszeichen erstellt haben, und hier gelten die im zweiten Absatz erläuterten Regeln zum Vergleich von Zeichenfolgen.

Einige Datenbanken (Oracle, IBM DB2, PostgreSQL usw.) führen standardmäßig Zeichenfolgenvergleiche mit Berücksichtigung der Groß-/Kleinschreibung durch, andere ohne Berücksichtigung der Groß-/Kleinschreibung (SQL Server, MySQL, SQLite). Dies ist keineswegs Standard, also achten Sie einfach auf Ihre db-Einstellungen.