Saat bekerja dengan fungsi yang mengembalikan tanggal, Oracle Database mengembalikan tanggal ini berdasarkan nilai NLS_DATE_FORMAT
parameter.
Ada juga NLS_TIMESTAMP_FORMAT
parameter dan NLS_TIMESTAMP_TZ_FORMAT
parameter, keduanya memiliki topeng format datetime yang dapat ditentukan secara terpisah.
Semua parameter ini memiliki nilai default yang diturunkan dari NLS_TERRITORY
parameter (yang secara default, bergantung pada sistem operasi).
Periksa Pengaturan
Kita dapat menanyakan V$NLS_PARAMETERS
lihat untuk memeriksa nilai saat ini dari parameter ini (dan parameter NLS lainnya):
SELECT
PARAMETER,
VALUE
FROM V$NLS_PARAMETERS
WHERE PARAMETER IN (
'NLS_TERRITORY',
'NLS_DATE_FORMAT',
'NLS_TIMESTAMP_FORMAT',
'NLS_TIMESTAMP_TZ_FORMAT'
);
Hasil:
NILAI PARAMETER ____________________________ _______________________________ NLS_TERRITORY AMERICA NLS_DATE_FORMAT DD-MON-RR NLS_TIMESTAMP_FORMAT DD-MON-RR HH.MI.SSXFF AM NLS_TIMESTAMP_TZ_FORMAT DD-MON-RR HH.MI.SSXFF AM TZR
Nilai NLS_TERRITORY
saya parameternya adalah AMERICA
, dan berbagai parameter datetime menggunakan model format default untuk wilayah tersebut.
Nilai-nilai ini mempengaruhi bagaimana tanggal diformat saat kita menggunakan fungsi tertentu. Misalnya, berikut adalah contoh penggunaan SYSDATE
untuk mengembalikan tanggal saat ini:
SELECT SYSDATE
FROM DUAL;
Hasil:
09-AUG-21
Kami dapat mengubah nilai parameter NLS dalam cakupan sesi jika diperlukan. Lihat Cara Mengubah Format Tanggal di Sesi Oracle Anda untuk contoh.
Parameter NLS Lainnya
V$NLS_PARAMETERS
berisi parameter lain selain yang tercantum di atas. Berikut ini contoh mengembalikan semua baris dan kolom dalam tampilan:
SELECT *
FROM V$NLS_PARAMETERS;
Hasil:
PARAMETER VALUE CON_ID __________________________ _______________________________ _________ NLS_LANGUAGE AMERICAN 3 NLS_TERRITORY AMERICA 3 NLS_CURRENCY $ 3 NLS_ISO_CURRENCY AMERICA 3 NLS_NUMERIC_CHARACTERS ., 3 NLS_CALENDAR GREGORIAN 3 NLS_DATE_FORMAT DD-MON-RR 3 NLS_DATE_LANGUAGE AMERICAN 3 NLS_CHARACTERSET AL32UTF8 3 NLS_SORT BINARY 3 NLS_TIME_FORMAT HH.MI.SSXFF AM 3 NLS_TIMESTAMP_FORMAT DD-MON-RR HH.MI.SSXFF AM 3 NLS_TIME_TZ_FORMAT HH 4Ada juga parameter NLS lain yang tidak tercantum dalam tampilan ini (seperti
NLS_LANG
,NLS_CREDIT
, danNLS_DEBIT
), tetapi mereka hanya dapat ditetapkan sebagai variabel lingkungan (yaitu tidak dalam sesi).Parameter NLS dapat diatur di berbagai tempat, seperti pada tingkat database, dalam file parameter inisialisasi, dalam variabel lingkungan, pada tingkat sesi, dan bahkan dalam beberapa fungsi. Masing-masing memiliki prioritas yang telah ditentukan dalam kaitannya dengan yang lain.
Nilai dalam cakupan sesi (seperti yang diuraikan dalam artikel ini) menggantikan semua cakupan lainnya, kecuali jika ditetapkan secara eksplisit sebagai argumen saat memanggil fungsi.
Lihat Metode Pengaturan Parameter NLS dan Prioritasnya untuk tabel yang menguraikan urutan prioritas yang dimiliki setiap ruang lingkup dalam kaitannya dengan yang lain.
Lihat juga Cara Memeriksa Nilai Parameter NLS, yang mencakup berbagai tampilan yang dapat Anda gunakan untuk mengembalikan nilai dari setiap cakupan.