Domyślnie identyfikatory Oracle (nazwy tabel, nazwy kolumn itp.) są niewrażliwe na wielkość liter . Możesz rozróżniać wielkość liter, używając cudzysłowów wokół nich (np.:SELECT * FROM "My_Table" WHERE "my_field" = 1
). Słowa kluczowe SQL (SELECT
, WHERE
, JOIN
, itp.) są zawsze niewrażliwe na wielkość liter.
Z drugiej strony porównania ciągów są rozróżniane wieloma literami (np.:WHERE field='STRING'
dopasuje tylko kolumny, w których jest 'STRING'
) domyślnie. Możesz sprawić, że nie będzie rozróżniana wielkość liter, ustawiając NLS_COMP
i NLS_SORT
do odpowiednich wartości (np.:LINGUISTIC
i BINARY_CI
, odpowiednio).
Uwaga:podczas przeglądania widoków słowników danych (np.:dba_tables
) nazwy będą pisane wielkimi literami, jeśli utworzyłeś je bez cudzysłowów, a zasady porównywania ciągów, jak wyjaśniono w drugim akapicie, będą miały tutaj zastosowanie.
Niektóre bazy danych (Oracle, IBM DB2, PostgreSQL itp.) domyślnie wykonują porównywanie łańcuchów z uwzględnieniem wielkości liter, inne nie uwzględniają wielkości liter (SQL Server, MySQL, SQLite). W żadnym wypadku nie jest to standardowe, więc po prostu pamiętaj o ustawieniach bazy danych.