sql >> Databáze >  >> RDS >> Oracle

Důvod, proč Oracle rozlišuje velká a malá písmena?

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.



  1. zakázat NOTICES ve výstupu psql

  2. Vložit do z CTE

  3. Provádění sady SQL dotazů pomocí dávkového souboru?

  4. První písmeno velké. MySQL