Som standard er Oracle-identifikatorer (tabelnavne, kolonnenavne osv.) ufølsomme. . Du kan gøre dem skelne mellem store og små bogstaver ved at bruge anførselstegn omkring dem (f.eks.:SELECT * FROM "My_Table" WHERE "my_field" = 1
). SQL-nøgleord (SELECT
, WHERE
, JOIN
osv.) er altid ufølsomme for store og små bogstaver.
På den anden side skelnes der mellem store og små bogstaver i strengsammenligninger (f.eks.:WHERE field='STRING'
vil kun matche kolonner, hvor det er 'STRING'
) som standard. Du kan gøre dem ufølsomme for store og små bogstaver ved at indstille NLS_COMP
og NLS_SORT
til de relevante værdier (f.eks.:LINGUISTIC
og BINARY_CI
, henholdsvis).
Bemærk:Når du spørger til dataordbogsvisninger (f.eks.:dba_tables
) vil navnene stå med store bogstaver, hvis du har oprettet dem uden anførselstegn, og reglerne for strengsammenligning som forklaret i andet afsnit vil gælde her.
Nogle databaser (Oracle, IBM DB2, PostgreSQL osv.) udfører som standard sammenligning af store og små bogstaver i strenge, andre er ufølsomme for store og små bogstaver (SQL Server, MySQL, SQLite). Dette er på ingen måde standard, så vær bare opmærksom på, hvad dine db-indstillinger er.