全部产品
Search
文档中心

PolarDB:Fungsi dan Operator Tanggal/Waktu

更新时间:Jul 02, 2025

Topik ini menjelaskan fitur operator aritmatika dasar tanda plus (+) dan tanda minus (-), serta fungsi-fungsi yang dapat digunakan untuk memproses nilai tanggal dan waktu.

Tabel 1 mengilustrasikan fitur operator aritmatika dasar tanda plus (+) dan tanda minus (-). Tabel 2 menunjukkan semua fungsi yang dapat digunakan untuk memproses nilai tanggal dan waktu. Untuk informasi lebih lanjut tentang fungsi-fungsi ini, lihat topik berikutnya. Untuk informasi tentang fungsi pemformatan, lihat Fungsi untuk Memformat Tipe Data. Sebelum memulai dengan topik ini, pastikan Anda telah memahami informasi latar belakang tentang tipe data tanggal dan waktu di Tipe Data Tanggal dan Waktu.

Tabel 1. Operator Tanggal/Waktu

Operator

Contoh

Hasil

+

DATE '2001-09-28' + 7

05-OCT-01 00:00:00

+

TIMESTAMP '2001-09-28 13:30:00' + 3

01-OCT-01 13:30:00

-

DATE '2001-10-01' - 7

24-SEP-01 00:00:00

-

TIMESTAMP '2001-09-28 13:30:00' - 3

25-SEP-01 13:30:00

-

TIMESTAMP '2001-09-29 03:00:00' - TIMESTAMP '2001-09-27 12:00:00'

@ 1 hari 15 jam

Dalam fungsi tanggal dan waktu yang tercantum di Tabel 2, tipe data DATE dan TIMESTAMP dapat dikonversi satu sama lain.

Tabel 2. Fungsi Tanggal/Waktu

Fungsi

Tipe Kembali

Deskripsi

Contoh

Hasil

ADD MONTHS(DATE, NUMBER)

DATE

Tambah bulan ke tanggal.

ADD MONTHS('28-FEB-97', 3.8)

31-MAY-97 00:00:00

CURRENT DATE

DATE

Tanggal saat ini.

CURRENT DATE

04-JUL-07

CURRENT TIMESTAMP

TIMESTAMP

Mengembalikan tanggal dan waktu saat ini.

CURRENT TIMESTAMP

04-JUL-07 15:33:23.484

EXTRACT(field FROM TIMESTAMP)

DOUBLE PRECISION

Mendapatkan sub-bidang.

EXTRACT(hour FROM TIMESTAMP '2001-02-16 20:38:40')

20

LAST DAY(DATE)

DATE

Mengembalikan hari terakhir bulan yang diwakili oleh tanggal tertentu. Jika tanggal tersebut mengandung bagian waktu, itu akan dibawa ke hasil tanpa perubahan.

LAST DAY('14-APR-98')

30-APR-98 00:00:00

LOCALTIMESTAMP [ (presisi) ]

TIMESTAMP

Tanggal dan waktu saat ini (awal transaksi saat ini).

LOCALTIMESTAMP

04-JUL-07 15:33:23.484

MONTHS BETWEEN(DATE, DATE)

NUMBER

Jumlah bulan antara dua tanggal.

MONTHS BETWEEN('28-FEB- 07', '30-N0V-06')

3

NEXT DAY(DATE, dayofweek)

DATE

Tanggal jatuh pada hari minggu setelah tanggal tertentu.

NEXT DAY('16-APR- 07','FRI')

2 0-APR-07 00:00:00

NEW TIME(DATE, VARCHAR, VARCHAR)

DATE

Mengonversi tanggal dan waktu ke zona waktu alternatif

NEW TIME(T0 DATE '2005/05/29 01:45', 'AST', 'PST')

2005/05/29 21:45:00

ROUND(DATE [, format ])

DATE

Tanggal dibulatkan sesuai format.

R0UND(T0 DATE('29-MAY- 05'),'M0N')

01-JUN-05 00:00:00

SYS EXTRACT UTC(TIME STAMP WITH TIME ZONE)

TIMESTAMP

TIMESTAMP

SYS EXTRACT UTC(CAST('24 -MAR-11 12:30:00PM - 04:00' AS TIMESTAMP WITH TIME ZONE))

2 4-MAR-11 16:30:00

SYSDATE

DATE

Mengembalikan tanggal dan waktu saat ini

SYSDATE

01-AUG-12 11:12:34

SYSTIMESTAMP()

TIMESTAMP

Mengembalikan tanggal dan waktu saat ini

SYSTIMESTAMP

01-AUG-12 11:11:23.665 229 -07:00

TRUNC(DATE [format ])

DATE

Potong sesuai format.

TRUNC(T0 DATE('2 9-MAY- 05'), 'MON')

01-MAY-05 00:00:00