Oracle
 sql >> база данни >  >> RDS >> Oracle

Причина, поради която Oracle е чувствителен към малки и големи букви?

По подразбиране идентификаторите на 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). Това по никакъв начин не е стандартно, така че просто имайте предвид какви са вашите настройки за db.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Създаване на таблица и вмъкване в рамките на същата процедура в pl/sql

  2. 12c DBA_USERS Промени

  3. MONTHS_BETWEEN() Функция в Oracle

  4. Изгледът ALL_PROCEDURES не показва PROCEDURE_NAME

  5. Декларация на Oracle, обяснена със съвети и примери