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

2 Fungsi yang Mengembalikan Detik dari Nilai Datetime di Oracle

Di bawah ini adalah dua fungsi yang dapat digunakan untuk mengembalikan bagian detik dari nilai datetime di Oracle Database.

EXTRACT() Fungsi

EXTRACT(datetime) fungsi digunakan untuk mengekstrak berbagai bagian datetime dari nilai datetime. Ini termasuk bagian detik.

Ini contohnya:

SELECT 
    EXTRACT(SECOND FROM TIMESTAMP '2035-01-01 10:15:37')
FROM DUAL;

Hasil:

37

Ini adalah SECOND kata kunci yang mengekstrak bagian detik dari nilai datetime. Ini akan mencakup setiap detik pecahan:

SELECT 
    EXTRACT(
        SECOND FROM TIMESTAMP '2035-01-01 10:15:37.123456789'
        )
FROM DUAL;

Hasil:

37.123456789

Kita bisa mendapatkan bagian tanggal lainnya dengan mengubahnya menjadi kata kunci yang relevan. Misalnya, YEAR , MONTH , HOUR , MINUTE , dll.

Kita juga dapat menggunakan fungsi tersebut dengan nilai datetime lainnya, seperti DATE .

TO_CHAR(datetime) Fungsi

Kita juga dapat menggunakan TO_CHAR(datetime) berfungsi sebagai metode alternatif untuk mendapatkan komponen detik dari nilai datetime.

Fungsi ini menerima nilai datetime atau interval sebagai argumen pertama, dan model format sebagai argumen kedua. Fungsi kemudian mengonversi nilai menjadi tipe data VARCHAR2 dalam format yang ditentukan.

Model format menentukan format untuk mengembalikan nilai datetime/interval. Model format terdiri dari satu atau lebih elemen format. Hal ini memungkinkan kami untuk dengan hati-hati menyusun hasil untuk mencerminkan format yang kami inginkan.

Jika kita hanya ingin mengembalikan detik, kita dapat menggunakan salah satu elemen format yang mengembalikan komponen tersebut.

Ada beberapa elemen format berbeda yang dapat kita gunakan saat mengembalikan komponen detik dari nilai datetime.

Yang paling jelas adalah SS elemen format:

SELECT 
    TO_CHAR(TIMESTAMP '2035-01-01 10:15:37.123456789', 'SS')
FROM DUAL;

Hasil:

37

Seperti yang kita lihat, SS elemen format hanya mengembalikan bagian detik, tetapi bukan pecahan detik.

Detik Pecahan

Jika kita ingin memasukkan pecahan detik, kita dapat menggunakan FF elemen format. Kami juga dapat menggunakan X untuk menentukan karakter radix (simbol yang digunakan untuk memisahkan bagian bilangan bulat dari bagian pecahan):

SELECT 
    TO_CHAR(TIMESTAMP '2035-01-01 10:15:37.123456789', 'SSXFF')
FROM DUAL;

Hasil:

37.123456789

Anda juga dapat membatasi presisi dengan menambahkan angka ke FF bagian:

SELECT 
    TO_CHAR(TIMESTAMP '2035-01-01 10:15:37.123456789', 'SSXFF5')
FROM DUAL;

Hasil:

37.12345

Nomornya bisa 1 melalui 9 .

Meskipun Anda dapat secara eksplisit memberikan karakter radix Anda sendiri – misalnya, titik (. ), X elemen format dapat berguna untuk porting lintas bahasa/wilayah yang berbeda.

Ketika saya menjalankan contoh di atas, NLS_TERRITORY saya parameter disetel ke AUSTRALIA , yang mengakibatkan karakter radix menjadi titik.

Inilah yang terjadi ketika saya mengubah NLS_TERRITORY saya parameter ke GERMANY :

ALTER SESSION SET NLS_TERRITORY = 'GERMANY';

SELECT 
    TO_CHAR(TIMESTAMP '2035-01-01 10:15:37.123456789', 'SSXFF')
FROM DUAL;

Hasil:

37,123456789

Sekarang karakter radix adalah koma.

Tengah Detik Lewat

Kita bisa menggunakan SSSSS untuk mengembalikan detik lewat tengah malam:

SELECT 
    TO_CHAR(TIMESTAMP '2035-01-01 00:01:05', 'SSSSS')
FROM DUAL;

Hasil:

00065

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Menggunakan Dapper dengan prosedur tersimpan Oracle yang mengembalikan kursor

  2. ORA-1114 Menjalankan Datapatch

  3. Masukkan gumpalan di database Oracle dengan C #

  4. Keamanan Database Oracle:Audit Database

  5. Menggabungkan Data Menggunakan Fungsi Grup (grup demi oracle)