sql >> Databasteknik >  >> RDS >> Oracle

Så här ändrar du språket för din Oracle-session

I Oracle Database, NLS_LANGUAGE initialiseringsparameter anger standardspråket för databasen.

Detta språk används för meddelanden, dag- och månadsnamn, symboler för AD, BC, a.m. och pm, och standardsorteringsmekanismen.

NLS_LANGUAGE parametern bestämmer också standardvärdena för NLS_DATE_LANGUAGE och NLS_SORT parametrar.

Den här artikeln beskriver hur du ändrar värdet på NLS_LANGUAGE och NLS_DATE_LANGUAGE parametrar.

Kontrollera de ursprungliga inställningarna

Låt oss först kontrollera mina nuvarande inställningar för dessa parametrar:

SELECT
    PARAMETER,
    VALUE
FROM V$NLS_PARAMETERS
WHERE PARAMETER IN (
    'NLS_LANGUAGE',
    'NLS_DATE_LANGUAGE',
    'NLS_SORT'
    );

Resultat:

           PARAMETER       VALUE 
____________________ ___________ 
NLS_LANGUAGE         AMERICAN    
NLS_DATE_LANGUAGE    AMERICAN    
NLS_SORT             BINARY      

Ändra NLS_LANGUAGE Parameter

Vi kan använda ALTER SESSION för att ändra inställningen för NLS_LANGUAGE parameter.

Exempel:

ALTER SESSION SET NLS_LANGUAGE = 'BASQUE';

Resultat:

Session altered.

Låt oss kontrollera de nya värdena:

SELECT
    PARAMETER,
    VALUE
FROM V$NLS_PARAMETERS
WHERE PARAMETER IN (
    'NLS_LANGUAGE',
    'NLS_DATE_LANGUAGE',
    'NLS_SORT'
    );

Resultat:

           PARAMETER        VALUE 
____________________ ____________ 
NLS_LANGUAGE         BASQUE       
NLS_DATE_LANGUAGE    BASQUE       
NLS_SORT             GENERIC_M    

Vi kan se att både NLS_LANGUAGE och NLS_DATE_LANGUAGE parametrarna har ändrats till det angivna språket, även om vi bara uppdaterade NLS_LANGUAGE parameter.

Vi kan också se att NLS_SORT parametern har uppdaterats till standardsorteringen för BASQUE språk.

Ändra NLS_DATE_LANGUAGE Parameter

Låt oss nu ändra NLS_DATE_LANGUAGE parameter:

ALTER SESSION SET NLS_DATE_LANGUAGE = 'SPANISH';

Resultat:

Session altered.

Och kontrollera nu de nya värdena:

SELECT
    PARAMETER,
    VALUE
FROM V$NLS_PARAMETERS
WHERE PARAMETER IN (
    'NLS_LANGUAGE',
    'NLS_DATE_LANGUAGE',
    'NLS_SORT'
    );

Resultat:

           PARAMETER        VALUE 
____________________ ____________ 
NLS_LANGUAGE         BASQUE       
NLS_DATE_LANGUAGE    SPANISH      
NLS_SORT             GENERIC_M    

Så vi har uttryckligen ändrat värdet på NLS_DATE_LANGUAGE parameter utan att ändra de andra två.

Standardsorteringen för SPANISH är SPANISH , och vi kan se att NLS_SORT värdet är fortfarande GENERIC_M , så det har inte påverkats.


  1. Hur anger jag en unik begränsning för flera kolumner i MySQL?

  2. TABLOCK vs TABLOCKX

  3. Showplan Förbättringar för UDF:er

  4. Hur MATCH()-funktionen fungerar i MySQL