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

Cara Menghapus Nol Awal Dari Tanggal di Oracle

Di Oracle Database, Anda dapat menggunakan fm (mode isi) pengubah format untuk menekan nol di depan yang mungkin diterapkan pada tanggal. Pengubah format ini menekan padding, yang mencakup nol di depan dan di akhir.

Untuk menggunakan fm pengubah format, sertakan dalam model format Anda saat menentukan bagaimana tanggal harus diformat. Misalnya saat menggunakan TO_CHAR() berfungsi untuk memformat tanggal, atau dalam parameter NLS seperti NLS_DATE_FORMAT parameter saat mengatur format tanggal untuk sesi Anda saat ini.

Contoh

Berikut ini contoh untuk didemonstrasikan:

SELECT 
    TO_CHAR(DATE '2009-08-01', 'DD-MM-YY') AS "Without fm",
    TO_CHAR(DATE '2009-08-01', 'fmDD-MM-YY') AS "With fm"
FROM DUAL;

Hasil:

   Without fm    With fm 
_____________ __________ 
01-08-09      1-8-9     

Kita dapat melihat bahwa hasil aslinya (tanpa fm pengubah) mengembalikan nol di depan untuk semua bagian tanggal. Dalam hal ini, fm pengubah menekan nol di depan pada ketiga bagian tanggal.

fm pengubah hanya memengaruhi hasil jika benar-benar ada nol di depan dalam hasil.

Berikut adalah tanggal yang menyertakan bagian tanggal yang terdiri dari dua digit, dan karena itu tidak memiliki angka nol di depan:

SELECT 
    TO_CHAR(DATE '2029-12-01', 'DD-MM-YY') AS "Without fm",
    TO_CHAR(DATE '2029-12-01', 'fmDD-MM-YY') AS "With fm"
FROM DUAL;

Hasil:

   Without fm    With fm 
_____________ __________ 
01-12-29      1-12-29    

Cara Menentukan Mode Isi Hanya pada Beberapa Bagian Tanggal

Contoh di atas menekan nol di depan pada semua bagian tanggal. Angka nol di depan dihilangkan dari hari, bulan, dan tahun. Ini karena, ketika kita menempatkan satu fm di awal model format, itu menekan semua nol terdepan berikutnya dalam hasil.

Misalkan kita hanya ingin menghapus nol di depan dari hari dan bulan, tetapi mempertahankannya pada tahun. Dalam hal ini, kita dapat melakukan hal berikut:

SELECT TO_CHAR(DATE '2009-08-01', 'fmDD-MM-fmYY')
FROM DUAL;

Hasil:

1-8-09

fm pengubah pada dasarnya bekerja seperti sakelar. Saat Anda memasukkan satu, itu menekan nol sampai akhir, atau sampai menemukan fm lain pengubah. Jika ada fm kedua pengubah, maka nol di depan tidak ditekan di luar titik itu, dan seterusnya.

Inilah yang terjadi ketika kami menyertakan tiga fm pengubah – satu sebelum setiap bagian tanggal:

SELECT TO_CHAR(DATE '2009-08-01', 'fmDD-fmMM-fmYY')
FROM DUAL;

Hasil:

1-08-9

Jadi dalam hal ini, fm pengubah pada dasarnya diaktifkan, lalu dinonaktifkan, lalu diaktifkan lagi.

Parameter NLS

Anda juga dapat menentukan mode pengisian di parameter NLS Anda, seperti NLS_DATE_FORMAT parameter saat menyetel format tanggal untuk sesi Anda saat ini.

Contoh:

ALTER SESSION SET NLS_DATE_FORMAT = 'fmDD-MM-fmRR';

SELECT DATE '2009-08-07' FROM DUAL;

Hasil:

7-8-09

  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 efisien untuk memperbarui semua baris dalam tabel

  2. SQL Query untuk Menciutkan Nilai Duplikat Berdasarkan Rentang Tanggal

  3. Oracle SELECT TOP 10 catatan

  4. Sertifikasi Oracle

  5. Pemulihan basis data Oracle