Oracle
 sql >> Teknologi Basis Data >  >> RDS >> Oracle

Cara Memeriksa Format Tanggal Sesi Oracle Anda

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 4 

Ada juga parameter NLS lain yang tidak tercantum dalam tampilan ini (seperti NLS_LANG , NLS_CREDIT , dan NLS_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.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cara memodifikasi tipe data di Oracle dengan baris yang ada di tabel

  2. Bagaimana Cara Menaikkan Pengecualian di PL/SQL?

  3. Bagaimana cara menyampaikan argumen ke skrip PL/SQL pada baris perintah dengan SQLPLUS?

  4. Bagaimana cara menggunakan Oracle ORDER BY dan ROWNUM dengan benar?

  5. Apa yang dimaksud dengan select count(1) dari table_name pada tabel database apa pun?