sql >> Databasteknik >  >> RDS >> Oracle

Metoder för att ställa in NLS-parametrar och deras prioriteringar (Oracle Database)

Oracle Database innehåller ett gäng NLS-parametrar (National Language Support) som bestämmer det lokala specifika beteendet på både klienten och servern.

Dessa NLS-parametrar kan ställas in på olika platser, som var och en har en förutbestämd prioritetsordning i förhållande till de andra. Följande tabell beskriver dessa metoder, såväl som deras prioritet i förhållande till de andra.

Prioritet Metod
1 (högst) Explicit inställd i SQL-funktioner.

Exempel:
TO_CHAR(SYSDATE, 'DD/MON/RR', 'nls_date_language = SPANISH')
2 Ställs in av en ALTER SESSION påstående.

Exempel:
ALTER SESSION SET NLS_TERRITORY = 'AUSTRALIA';
3 Ange som en miljövariabel.

Exempel:
% setenv NLS_SORT FRENCH
4 Specificerat i initialiseringsparameterfilen.

Exempel:
NLS_TERRITORY = "AMERICA"
5 (lägst) Standardvärde angavs när databasen skapades.

Bara för att vara tydlig, inställningar med högre prioritet åsidosätter inställningar med lägre prioritet. Så att ställa in en NLS-parameter i en SQL-funktion åsidosätter alla andra platser där den parametern har ställts in.

Alla funktioner tillåter inte att NLS-parametrar ställs in på funktionsnivå. ALTER SESSION uttalande är näst högsta prioritet, och är därför det snabbaste/enklaste sättet att ställa in en NLS-parameter i sådana fall där parametern inte är hårdkodad i funktionen.

För ett exempel på hur du ställer in NLS-parametrar på sessionsnivå, se Hur du ändrar datumformatet i din Oracle-session.

Kontrollera värdena för NLS-parametrarna

Du kan fråga V$NLS_PARAMETERS dynamisk prestandavy för att kontrollera de aktuella värdena för dina nuvarande NLS-parametrar.

Du kan också kontrollera NLS-parametrarna för sessionen, instansen och databasen genom att fråga i följande dataordboksvyer:

  • NLS_SESSION_PARAMETERS visar NLS-parametrarna och deras värden för sessionen som frågar vyn. Den visar inte information om teckenuppsättningen.
  • NLS_INSTANCE_PARAMETERS visar de aktuella NLS-instansparametrarna som har ställts in explicit och värdena för NLS-instansparametrarna.
  • NLS_DATABASE_PARAMETERS visar värdena för NLS-parametrarna för databasen. Värdena lagras i databasen.

Användarapplikationer kan också fråga klientens NLS-inställningar med OCINlsGetInfo() funktion.

Se Hur du kontrollerar NLS-parametrarnas värden för exempel på hur du kontrollerar NLS-parametrar.


  1. Använd float eller decimal för redovisningsapplikation dollarbelopp?

  2. ROUND(datum) Funktion i Oracle

  3. Hämta gränsvärdena för en partitionerad tabell i SQL Server (T-SQL)

  4. Android SQLite-fel:variabelnummer måste vara mellan ?1 och ?999