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

Di mana mengubah NLS_DATE_FORMAT di Oracle 11g?

Jika Anda ingin mengubah parameter NLS dalam suatu prosedur maka Anda dapat menggunakan DBMS_SESSION.SET_NLS . Mengingat lingkungan yang terlihat seperti ini:

SQL> select value
  2    from nls_session_parameters
  3   where parameter = 'NLS_DATE_FORMAT';

VALUE
------------------------------------------

DD-MON-RR

SQL> select sysdate from dual;

SYSDATE
---------
25-NOV-14

menjalankan prosedur mengubah format (perhatikan tiga tanda kutip tunggal):

SQL> begin
  2     dbms_session.set_nls('nls_date_format', '''yyyy-mm-dd''');
  3  end;
  4  /

PL/SQL procedure successfully completed.

SQL> select sysdate from dual;

SYSDATE
----------
2014-11-25

Atau Anda dapat menggunakan SQL dinamis, EXECUTE IMMEDIATE , misalnya:

SQL> begin
  2     execute immediate 'alter session set nls_date_format = ''yyyy-mm''';
  3  end;
  4  /

PL/SQL procedure successfully completed.

SQL> select sysdate from dual;

SYSDATE
-------
2014-11

Namun , sebagai Justin Catatan gua ini sangat tidak biasa. Jika Anda mengonversi antar tipe data, Anda harus selalu melakukan ini secara eksplisit dengan format eksplisit. Dalam hal tanggal, fungsi yang benar untuk digunakan adalah TO_DATE()




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana cara mengembalikan RefCursor dari fungsi Oracle?

  2. Menekan kesalahan ORA-00942 dalam skrip pembuatan ddl

  3. Nama path lengkap dari instalasi JDK untuk Oracle SQL Developer

  4. Bagaimana Mendapatkan Tanggal Saat Ini di PL/SQL?

  5. Bagaimana cara menghapus tabel aneh bernama BIN$c+eOnMB3RbKSEFg/rsxtAQ==$0 dari database Oracle?