Ve výchozím nastavení identifikátory Oracle (názvy tabulek, názvy sloupců atd.) nerozlišují malá a velká písmena . Můžete v nich rozlišovat malá a velká písmena pomocí uvozovek (např.:SELECT * FROM "My_Table" WHERE "my_field" = 1
). Klíčová slova SQL (SELECT
, WHERE
, JOIN
, atd.) vždy nerozlišují malá a velká písmena.
Na druhou stranu, porovnávání řetězců rozlišuje malá a velká písmena (např.:WHERE field='STRING'
bude odpovídat pouze sloupcům, kde je 'STRING'
) ve výchozím stavu. Nastavením NLS_COMP
je můžete nastavit tak, aby nerozlišovaly malá a velká písmena a NLS_SORT
na příslušné hodnoty (např.:LINGUISTIC
a BINARY_CI
, respektive).
Poznámka:Při dotazu na zobrazení datového slovníku (např.:
dba_tables
) názvy budou velkými písmeny, pokud jste je vytvořili bez uvozovek, a zde budou platit pravidla porovnávání řetězců vysvětlená ve druhém odstavci.
Některé databáze (Oracle, IBM DB2, PostgreSQL atd.) budou ve výchozím nastavení provádět porovnávání řetězců rozlišující malá a velká písmena, jiné nerozlišují malá a velká písmena (SQL Server, MySQL, SQLite). V žádném případě to není standardní, takže si uvědomte, jaké máte nastavení db.