По умолчанию идентификаторы 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
) имена будут в верхнем регистре, если вы создали их без кавычек, и здесь будут применяться правила сравнения строк, описанные во втором абзаце.
В некоторых базах данных (Oracle, IBM DB2, PostgreSQL и т. Д.) Сравнения строк по умолчанию выполняются с учетом регистра, в других - без учета регистра (SQL Server, MySQL, SQLite). Это ни в коем случае не является стандартным, так что просто знайте, каковы ваши настройки БД.