W bazie danych Oracle NLS_LANGUAGE parametr inicjujący określa domyślny język bazy danych.
Ten język jest używany do komunikatów, nazw dni i miesięcy, symboli AD, BC, rano i po południu oraz domyślnego mechanizmu sortowania.
Język NLS_LANGUAGE parametr określa również domyślne wartości NLS_DATE_LANGUAGE i NLS_SORT parametry.
W tym artykule opisano, jak zmienić wartość NLS_LANGUAGE i NLS_DATE_LANGUAGE parametry.
Sprawdź ustawienia początkowe
Najpierw sprawdźmy moje obecne ustawienia dla tych parametrów:
SELECT
PARAMETER,
VALUE
FROM V$NLS_PARAMETERS
WHERE PARAMETER IN (
'NLS_LANGUAGE',
'NLS_DATE_LANGUAGE',
'NLS_SORT'
); Wynik:
PARAMETER VALUE ____________________ ___________ NLS_LANGUAGE AMERICAN NLS_DATE_LANGUAGE AMERICAN NLS_SORT BINARY
Zmień język NLS_LANGUAGE Parametr
Możemy użyć ALTER SESSION oświadczenie, aby zmienić ustawienie dla języka NLS_LANGUAGE parametr.
Przykład:
ALTER SESSION SET NLS_LANGUAGE = 'BASQUE'; Wynik:
Session altered.
Sprawdźmy nowe wartości:
SELECT
PARAMETER,
VALUE
FROM V$NLS_PARAMETERS
WHERE PARAMETER IN (
'NLS_LANGUAGE',
'NLS_DATE_LANGUAGE',
'NLS_SORT'
); Wynik:
PARAMETER VALUE ____________________ ____________ NLS_LANGUAGE BASQUE NLS_DATE_LANGUAGE BASQUE NLS_SORT GENERIC_M
Widzimy, że zarówno NLS_LANGUAGE i NLS_DATE_LANGUAGE parametry zostały zmienione na określony język, mimo że zaktualizowaliśmy tylko NLS_LANGUAGE parametr.
Widzimy również, że NLS_SORT parametr został zaktualizowany do domyślnego sortowania dla BASQUE język.
Zmień NLS_DATE_LANGUAGE Parametr
Teraz zmieńmy NLS_DATE_LANGUAGE parametr:
ALTER SESSION SET NLS_DATE_LANGUAGE = 'SPANISH'; Wynik:
Session altered.
A teraz sprawdź nowe wartości:
SELECT
PARAMETER,
VALUE
FROM V$NLS_PARAMETERS
WHERE PARAMETER IN (
'NLS_LANGUAGE',
'NLS_DATE_LANGUAGE',
'NLS_SORT'
); Wynik:
PARAMETER VALUE ____________________ ____________ NLS_LANGUAGE BASQUE NLS_DATE_LANGUAGE SPANISH NLS_SORT GENERIC_M
Dlatego wyraźnie zmieniliśmy wartość NLS_DATE_LANGUAGE parametr bez zmiany pozostałych dwóch.
Domyślne sortowanie dla SPANISH jest SPANISH i widzimy, że NLS_SORT wartość to nadal GENERIC_M , więc nie zostało to naruszone.