Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Powód, dla którego Oracle rozróżnia wielkość liter?

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.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Co to jest operator konkatenacji ciągów w Oracle?

  2. Jak wykonać blok PL SQL w Oracle

  3. Jak zainstalować klienta SQL * PLUS w systemie Linux?

  4. podziel sznurek na kilka rzędów

  5. Metoda ExecuteBatch zwraca tablicę o wartości -2 w java