Pengembang SQL hanya mengembalikan tanggal, bukan waktu. Bagaimana cara saya memperbaikinya?

168

Inilah yang diberikan SQL Develoepr kepada saya, baik di jendela hasil dan ketika saya mengekspor:

CREATION_TIME       
------------------- 
27-SEP-12
27-SEP-12
27-SEP-12

Inilah yang diberikan perangkat lunak lain yang menjalankan kueri / db yang sama:

CREATION_TIME       
------------------- 
2012-09-27 14:44:46 
2012-09-27 14:44:27 
2012-09-27 14:43:53 

Bagaimana cara mendapatkan Pengembang SQL untuk mengembalikan waktu juga?

Sebagian jawaban:

select TO_CHAR(creation_time,'DD-Mon-YYYY HH24:MI:SS') from 

Jika ada yang tahu cara mengatur default untuk menampilkan informasi lengkap, harap jawab di bawah ini.

Xonatron
sumber

Jawaban:

363

Bisakah kamu mencoba ini?

Pergi ke Alat> Preferensi> Database> NLS dan mengatur Format Tanggal sebagai MM / DD / YYYY HH24: MI: SS

rizalp1
sumber
8
Dalam versi Jerman: Extra> Voreinstellungen> Datenbank> NLS
Olivier Faucheux
9
WOW ... ini indah. Tidak percaya saya melakukan konversi dalam selectpernyataan.
Leniel Maccaferri
15
'Not Logical Setting' :-)
worldwidejimbo
3
Tidak! Itu singkatan Dukungan Bahasa Nasional. Ini digunakan untuk menentukan tanggal nasional, angka, mata uang dan pengaturan bahasa.
user2441441
2
Catatan: Saya perlu menyambung kembali ke database agar pengaturan ini berlaku
spume
35

Format tanggal juga dapat diatur dengan menggunakan kueri di bawah ini: -

ubah set SESSION NLS_DATE_FORMAT = 'date_format'

mis: ubah set SESION NLS_DATE_FORMAT = 'DD-MM-YYYY HH24: MI: SS'

Upendra Gughane
sumber
21

Untuk memperluas pada beberapa jawaban sebelumnya, saya menemukan bahwa objek Oracle DATE berperilaku berbeda dari objek Oracle TIMESTAMP. Secara khusus, jika Anda menetapkan NLS_DATE_FORMAT Anda untuk memasukkan detik pecahan, seluruh bagian waktu dihilangkan.

  • Format "YYYY-MM-DD HH24: MI: SS" berfungsi seperti yang diharapkan, untuk DATE dan TIMESTAMP
  • Format "YYYY-MM-DD HH24: MI: SSXFF" hanya menampilkan bagian tanggal untuk DATE, berfungsi seperti yang diharapkan untuk TIMESTAMP

Preferensi pribadi saya adalah mengatur DATE ke "YYYY-MM-DD HH24: MI: SS", dan untuk mengatur TIMESTAMP ke "YYYY-MM-DD HH24: MI: SSXFF".

trevorsky
sumber
Terima kasih, ini sangat membantu saya - saya hanya menyalin format dari timestamp dan tidak bisa mengerti mengapa itu tidak berfungsi.
fleeblewidget
Apakah ada alasan (selain standar) untuk digunakan YYYY-MM-DD HH24:MI:SSversus DD-MM-YYYY HH24:MI:SS?
Nathan Goings
Saya selalu mengutamakan tahun untuk menghindari kebingungan. Di AS, urutan khasnya adalah MM-DD-YYYY. Di tempat lain itu DD-MM-YYYY. Masalahnya adalah, Anda tidak dapat membedakan mereka selama berhari-hari antara 1 dan 12. Jadi saya selalu menempatkan tahun pertama. Dan saya tidak pernah menemukan apa pun yang menempatkan tahun pertama tanpa kemudian diikuti dengan bulan lalu hari. Ini juga memilah bersih sebagai string, yang merupakan efek samping yang berguna.
trevorsky
16

Dari Alat> Preferensi> Basis Data> Parameter NLS dan tetapkan Format Tanggal sebagai

DD-MON-RR HH: MI: SS

gigz
sumber
4

Ini akan memberi Anda jam, menit dan detik. hai presto.

select
  to_char(CREATION_TIME,'RRRR') year, 
  to_char(CREATION_TIME,'MM') MONTH, 
  to_char(CREATION_TIME,'DD') DAY, 
  to_char(CREATION_TIME,'HH:MM:SS') TIME,
  sum(bytes) Bytes 
from 
  v$datafile 
group by 
  to_char(CREATION_TIME,'RRRR'), 
  to_char(CREATION_TIME,'MM'), 
  to_char(CREATION_TIME,'DD'), 
  to_char(CREATION_TIME,'HH:MM:SS') 
 ORDER BY 1, 2; 
derek
sumber
3

Tak satu pun dari jawaban ini akan bekerja untuk saya, bukan opsi konfigurasi Preferensi NLS atau pernyataan ALTER. Ini adalah satu-satunya pendekatan yang berhasil dalam kasus saya:

dbms_session.set_nls('nls_date_format','''DD-MM-YYYY HH24:MI:SS''');

* ditambahkan setelah pernyataan BEGIN

Saya menggunakan Pengembang PL / SQL v9.03.1641

Semoga ini bisa membantu seseorang!

jcruz
sumber
-1

Yah saya menemukan cara ini:

Oracle SQL Developer (ikon kiri atas)> Preferensi> Database> NLS dan mengatur Format Tanggal sebagai MM / DD / YYYY HH24: MI: SS

masukkan deskripsi gambar di sini

Abhishek
sumber