CÁC THAM SỐ NLS

Một phần của tài liệu KIẾN TRÚC và QUẢN TRỊ cơ sở dữ LIỆU ORACLE (Trang 259 - 264)

CHƯƠNG 21. TÍNH NĂNG HỖ TRỢ NGÔN NGỮ QUỐC GIA

21.2. CÁC THAM SỐ NLS

21.2.1. La chn tham s

Cú ba cỏch chỉ ủịnh cỏc tham số NLS:

Chỉ ủịnh tham số NLS thụng qua tham số khởi tạo nằm trong parameter file của Server .

Sử dụng biến mụi trường tại client. Thụng số tại Client sẽ chộp ủố lờn (overriding) tham số mặc ủịnh tương ứng tại server.

Chỉ ủịnh tham số thụng qua lệnh ALTER SESSION. Giỏ trị mới của tham số sẽ chộp ủố lờn giỏ trị cũ của tham số tương ứng của server.

Chỉ ủịnh cỏc tham số phụ thuộc ngụn ngữ phớa server

Cỏc tham số khởi tạo NLS_LANGUAGE quy ủịnh cỏc giỏ trị ủặc trưng cho ngụn ngữ (language-dependent) như:

Ngôn ngữ sử dụng trong các thông báo của Oracle.

Ngụn ngữ sử dụng ủối với tờn của ngày thỏng.

Các biểu tượng cho AM, PM , A.D và B.C.

Thứ tự sắp xếp dữ liệu kớ tự theo mặc ủịnh.

Cỏc tham số khởi tạo NLS_TERRITORY quy ủịnh cỏc giỏ trị ủặc trưng cho từng vựng lónh thổ (territory).

Bao gồm:

ðịnh dạng ngày thỏng theo mặc ủịnh.

Dấu chấm thập phân, dấu phân cách hàng nghìn.

Biểu tượng tiền tệ quốc gia.

Biểu tượng tiền tệ chuẩn ISO

Ngày bắt ủầu của tuần.

Chú ý:

Khi sử dụng cỏc tham số ủặc trưng cho từng vựng lónh thổ nếu giỏ trị cú khoảng trống trong thỡ cần ủặt chỳng trong dấu ngoặc kộp. Vớ dụ: “ The Netherlands”

21.2.2. Ngụn ng ph thuc và giỏ tr territory mc ủịnh Cỏc giỏ trị mặc ủịnh

Tham số Giá trị

NLS_LANGUAGE

NLS_DATE_LANGUAGE NLS_SORT

AMERICAN

AMERICAN BINARY NLS_TERRITORY

NLS_CURRENCY NLS_ISO_CURRENCY NLS_DATE_FORMAT

NLS_NUMERIC_CHARACTERS

AMERICA $

AMERICA DD-MON-YY ,.

Tham số khởi tạo NLS _LANGUAGE quyết ủịnh giỏ trị mặc ủịnh cho cỏc tham số sau ủõy:

Tham số Diễn giải

NLS_DATE_LANGUAGE Thay ủổi tường minh cỏc ủịnh dạng về thời gian, ngày tháng

NLS_SORT Thay ủổi trật tự sắp xếp cỏc ký tự trong database

NLS_TERRITORY quyết ủịnh giỏ trị mặc ủịnh cho cỏc tham số sau ủõy:

Tham số Diễn giải

NLS_CURRENCY Thay ủổi tường minh cỏc ký tự biểu diễn tiền tệ

NLS_ISO_CURRENCY Ký tự biểu diễn tiền tệ của quốc gia theo chuẩn ISO

NLS_DATE_FORMAT Chỉ rừ ủịnh dạng ngày thỏng

NLS_NUMERIC_CHARACTERS Chỉ ra tường minh các ký tự biểu diễn trong số thập phân

21.2.3. Xỏc ủịnh cỏc biến mụi trường Chỉ ủịnh biến mụi trường NLS_LANG

NLS_LANG=<language>_<territory>.<charset>

Thêm các biến môi trường : NLS_DATE_FORMAT NLS_DATE_LANGUAGE NLS_SORT

NLS_NUMERIC_CHARACTERS NLS_CURRENCY

NLS_ISO_CURRENCY NLS_CALENDAR

Biến môi trường NLS_LANG

Sử dụng biến mụi trường NLS_LANG ủể chộp ủố lờn giỏ trị NLS mặc ủịnh sử dụng cho user.

Xỏc ủịnh giỏ trị của tham số NLS_LANG:

NLS_LANG=<language>_<territory>.<charset>

Với:

language tên ngôn ngữ quốc gia sử dụng (là giá trị của tham số NLS_LANGUAGE).

territory ủặc trưng vựng lónh thổ (là giỏ trị của tham số NLS_TERRITORY).

charset bộ mã kí tự sử dụng bởi ứng dụng phía client.

Ví dụ:

NLS_LANG=GERMAN_GERMAN.W8EISO8850P1

Tham số NLS_LANG quy ủịnh tập kớ tự cho client. Cỏc clients khỏc nhau cú thể sử dụng cỏc bộ mó kớ tự khỏc nhau. Dữ liệu truyền ủi từ client tới server sẽ ủược chuyển ủổi tự ủộng từ tập kớ tự sử dụng tại client sang tập kớ tự sử dụng tại server. Việc chuyển ủổi này là trong suốt ủối với cỏc ứng dụng tại client.

Các biến môi trường mở rộng

Cỏc tham số khởi tạo NLS ủều cú thể khai bỏo dưới dạng biến mụi trường, chỳng quy ủịnh cỏc ủặc trưng ngụn ngữ sử dụng tại mỗi clients. Tham số NLS_CALENDAR ủược sử dụng ủể chọn hệ thống lịch mà Oracle sẽ sử dụng.

Một số tham số cú thể chỉ ủịnh dưới dạng biến mụi trường tại clients:

NLS_LIST_SEPARATOR, NLS_DISPLAY, NLS_CREDIT, NLS_DEBIT, NLS_LANG, NLS_MONETARY,NLS_CHAR.

21.2.4. Ch ủịnh ủặc trưng ngụn ng (Language-Dependent) cho tng session

ðể thay ủổi cỏc ủặc tớnh NLS cho một session ta sử dụng cõu lệnh ALTER SESSION. Tất cả cỏc biến mụi trường cú thể ủược khởi tạo ở cả phớa client và server ủều cú thể thay ủổi ủược thông qua câu lệnh ALTER SESSION .

Vớ dụ: ủịnh dạng của date ủược thay ủổi cho session.

ALTER SESSION SET

NLS_DATE_FORMAT=‘DD.MM.YYYY’;

Ta cũng cú thể sử dụng cụng cụ SQL*Plus ủể thiết lập cỏc biến mụi trường thay cho cõu lệnh ALTER SESSION. Cú thể sử dụng package DBMS_SESSION.SET_NLS ủể khởi tạo cỏc tham số NLS cho session.

Ví dụ:

DBMS_SESSION.SET_NLS(‘NLS_DATE_FORMAT’,’’’DD.MM.YYYY’’’);

21.2.5. Tham s NLS và các hàm SQL

Sắp xếp nhị phõn là phương thức săp xếp thường ủược sử dụng. Trong ủú, cỏc phần tử ủược sắp xếp theo cỏc giỏ trị nhị phõn trong bộ mó kớ tự. Vị trớ của cỏc kớ tự cú thể thay ủổi theo ngôn ngữ sử dụng.

ðể loại bỏ giới hạn của sắp xếp nhị phân, Oracle cung cấp phương thức sắp xếp theo ngôn ngữ bằng cách khởi tạo tham số NLS_SORT.

Ví dụ:

SQL> ALTER SESSION SET NLS_SORT=BINARY;

Session altered.

SQL> SELECT letter FROM letters ORDER BY letter;

LETTER --- -a b c z ỹ ọ

6 rows selected.

Tham số NLS trong các hàm SQL

Oracle cung cấp một số hàm SQL sử dụng trên các tập kí tự single_byte và multibyte.

Cỏc hàm SQL cho phộp chỉ ủịnh cỏc tham số NLS giống như một phần trong danh sỏch tham số của chỳng. Cỏc tham số này sẽ thay thế cho cỏc giỏ trị NLS chỉ ủịnh bởi cỏc biến mụi trường.

Ví dụ: sử dụng tham số ngôn ngữ trong hàm SQL.

SVMRGRL> SELECT TO_CHAR(hiredate,'dd.mon.yyyy', 2> 'NLS_DATE_LANGUAGE=GERMAN')

3> FROM emp TO_CHAR(HIR

--- 17.dez.1980 20.feb.1981 22.feb.1981 02.apr.1981 28.sep.1981 01.mai.1981 09.jun.1981 19.apr.1987 17.nov.1981 08.sep.1981 23.mai.1987 03.dez.1981 03.dez.1981 23.jan.1982

14 rows selected.

SVRMGR> SELECT ename,

2> TO_CHAR(sal,'99G999D99','NLS_NUMERIC_CHARACTERS='',.''')

3> FROM emp;

ENAME TO_CHAR(SA --- --- SMITH 800,00 ALLEN 1.600,00 WARD 1.250,00 JONES 2.975,00 MARTIN 1.250,00 BLAKE 2.850,00 CLARK 2.450,00 SCOTT 3.000,00 KING 5.000,00 TURNER 1.500,00 ADAMS 1.100,00 JAMES 950,00 FORD 3.000,00 MILLER 1.300,00 14 rows selected.

Cỏc hàm SQL sau ủõy sử dụng tham số NLS

Tên hàm Tham số NLS

TO_DATE NLS_DATE_LANGUAGE

NLS_CALENDAR

TO_NUMBER NLS_NUMERIC_CHARACTERS

NLS_CURRENCY NLS_ISO_CURRENCY

TO_CHAR NLS_DATE_LANGUAGE

NLS_NUMERIC_CHARACTERS NLS_CURRENCY

NLS_ISO_CURRENCY NLS_CALENDAR NLS_UPPER, NLS_LOWER,

NLS_INITCAP, NLSSORT

NLS_SORT

Một số giỏ trị ủược sử dụng giống như cỏc mặt nạ (mask) ủịnh dạng trong cỏc hàm như TO_CHAR, TO_DATE, và TO_NUMBER.

“D” cho dấu phân chấm thập phân “G” dấu phân cách hàng nghìn “L” cho biểu tượng tiền tệ

“C” cho biểu tượng tiền tệ theo chuẩn ISO

Mặt nạ ủịnh dạng cho ngày thỏng:

“RM, rm” ủịnh dạng thỏng theo kiểu roman “IW” dịnh dạng tuần theo chuẩn ISO

“IYYY, IYY, IY,” và “I” ủịnh dạng năm theo chuẩn ISO

Một phần của tài liệu KIẾN TRÚC và QUẢN TRỊ cơ sở dữ LIỆU ORACLE (Trang 259 - 264)

Tải bản đầy đủ (PDF)

(266 trang)