デフォルトでは、Oracle識別子(テーブル名、列名など)は大文字と小文字が区別されません 。引用符で囲むことにより、大文字と小文字を区別することができます(例:SELECT * FROM "My_Table" WHERE "my_field" = 1
)。 SQLキーワード(SELECT
、WHERE
、JOIN
など)は常に大文字と小文字を区別しません。
一方、文字列の比較は大文字と小文字が区別されます-機密 (例:WHERE field='STRING'
'STRING'
の列にのみ一致します )デフォルトで。 NLS_COMP
を設定すると、大文字と小文字を区別しないようにできます。 およびNLS_SORT
適切な値に変更します(例:LINGUISTIC
およびBINARY_CI
、それぞれ)。
注:データディクショナリビューを照会する場合(例:
dba_tables
)引用符なしで名前を作成した場合、名前は大文字になり、2番目の段落で説明した文字列比較ルールがここに適用されます。
一部のデータベース(Oracle、IBM DB2、PostgreSQLなど)はデフォルトで大文字と小文字を区別する文字列比較を実行し、その他のデータベース(SQL Server、MySQL、SQLite)は大文字と小文字を区別しません。これは決して標準ではないので、データベースの設定に注意してください。