Trong Cơ sở dữ liệu Oracle, NLS_LANGUAGE
tham số khởi tạo chỉ định ngôn ngữ mặc định của cơ sở dữ liệu.
Ngôn ngữ này được sử dụng cho tin nhắn, tên ngày và tháng, ký hiệu cho AD, BC, a.m.m. và p.m. và cơ chế sắp xếp mặc định.
NLS_LANGUAGE
tham số cũng xác định các giá trị mặc định của NLS_DATE_LANGUAGE
và NLS_SORT
tham số.
Bài viết này trình bày cách thay đổi giá trị của NLS_LANGUAGE
và NLS_DATE_LANGUAGE
tham số.
Kiểm tra cài đặt ban đầu
Trước tiên, hãy kiểm tra cài đặt hiện tại của tôi cho các thông số sau:
SELECT
PARAMETER,
VALUE
FROM V$NLS_PARAMETERS
WHERE PARAMETER IN (
'NLS_LANGUAGE',
'NLS_DATE_LANGUAGE',
'NLS_SORT'
);
Kết quả:
PARAMETER VALUE ____________________ ___________ NLS_LANGUAGE AMERICAN NLS_DATE_LANGUAGE AMERICAN NLS_SORT BINARY
Thay đổi NLS_LANGUAGE
Tham số
Chúng ta có thể sử dụng ALTER SESSION
để thay đổi cài đặt cho NLS_LANGUAGE
tham số.
Ví dụ:
ALTER SESSION SET NLS_LANGUAGE = 'BASQUE';
Kết quả:
Session altered.
Hãy kiểm tra các giá trị mới:
SELECT
PARAMETER,
VALUE
FROM V$NLS_PARAMETERS
WHERE PARAMETER IN (
'NLS_LANGUAGE',
'NLS_DATE_LANGUAGE',
'NLS_SORT'
);
Kết quả:
PARAMETER VALUE ____________________ ____________ NLS_LANGUAGE BASQUE NLS_DATE_LANGUAGE BASQUE NLS_SORT GENERIC_M
Chúng ta có thể thấy rằng cả NLS_LANGUAGE
và NLS_DATE_LANGUAGE
các tham số đã được thay đổi thành ngôn ngữ được chỉ định, mặc dù chúng tôi chỉ cập nhật NLS_LANGUAGE
tham số.
Chúng ta cũng có thể thấy rằng NLS_SORT
tham số đã được cập nhật thành loại mặc định cho BASQUE
ngôn ngữ.
Thay đổi NLS_DATE_LANGUAGE
Tham số
Bây giờ chúng ta hãy thay đổi NLS_DATE_LANGUAGE
tham số:
ALTER SESSION SET NLS_DATE_LANGUAGE = 'SPANISH';
Kết quả:
Session altered.
Và bây giờ hãy kiểm tra các giá trị mới:
SELECT
PARAMETER,
VALUE
FROM V$NLS_PARAMETERS
WHERE PARAMETER IN (
'NLS_LANGUAGE',
'NLS_DATE_LANGUAGE',
'NLS_SORT'
);
Kết quả:
PARAMETER VALUE ____________________ ____________ NLS_LANGUAGE BASQUE NLS_DATE_LANGUAGE SPANISH NLS_SORT GENERIC_M
Vì vậy, chúng tôi đã thay đổi rõ ràng giá trị của NLS_DATE_LANGUAGE
tham số mà không thay đổi hai tham số còn lại.
Sắp xếp mặc định cho SPANISH
là SPANISH
và chúng ta có thể thấy rằng NLS_SORT
giá trị vẫn là GENERIC_M
nên nó không bị ảnh hưởng.