Di Oracle Database, TZ_OFFSET() fungsi mengembalikan offset zona waktu yang sesuai dengan argumen berdasarkan tanggal pernyataan dieksekusi.
Sintaks
Sintaksnya seperti ini:
TZ_OFFSET({ 'time_zone_name'
| '{ + | - } hh : mi'
| SESSIONTIMEZONE
| DBTIMEZONE
}
) Contoh
Berikut adalah beberapa contoh untuk ditunjukkan.
Nama Wilayah Zona Waktu
Anda dapat memberikan nama wilayah zona waktu yang valid:
SELECT TZ_OFFSET('Australia/Darwin')
FROM DUAL; Hasil:
+09:30
Berikut cara mendapatkan daftar zona waktu yang didukung di sistem Anda.
Offset Zona Waktu
Anda dapat melewati offset zona waktu, dalam hal ini ia akan mengembalikan dirinya sendiri:
SELECT TZ_OFFSET('-10:00')
FROM DUAL; Hasil:
-10:00
SESSIONTIMEZONE Fungsi
SESSIONTIMEZONE fungsi mengembalikan zona waktu sesi saat ini. Anda dapat menggunakan ini untuk mendapatkan offset zona waktu dari sesi Anda saat ini.
Contoh:
SELECT
SESSIONTIMEZONE,
TZ_OFFSET(SESSIONTIMEZONE)
FROM DUAL; Hasil sesi saya:
SESSIONTIMEZONE TZ_OFFSET(SESSIONTIMEZONE) _____________________ _____________________________ Australia/Brisbane +10:00
DBTIMEZONE Fungsi
DBTIMEZONE fungsi mengembalikan zona waktu database. Ini mungkin atau mungkin tidak sama dengan SESSIONTIMEZONE di sistem Anda.
Contoh:
SELECT
DBTIMEZONE,
TZ_OFFSET(DBTIMEZONE)
FROM DUAL; Hasil:
DBTIMEZONE TZ_OFFSET(DBTIMEZONE) _____________ ________________________ +00:00 +00:00
Argumen Null
Melewati null menghasilkan null :
SET NULL 'null';
SELECT TZ_OFFSET(null)
FROM DUAL; Hasil:
null
Secara default, SQLcl dan SQL*Plus mengembalikan ruang kosong setiap kali null terjadi sebagai akibat dari SQL SELECT penyataan.
Namun, Anda dapat menggunakan SET NULL untuk menentukan string berbeda yang akan dikembalikan. Di sini saya menetapkan bahwa string null harus dikembalikan.
Argumen Tidak Ada
Memanggil fungsi dengan jumlah argumen yang salah, atau tanpa meneruskan argumen apa pun, menghasilkan kesalahan:
SELECT TZ_OFFSET()
FROM DUAL; Hasil:
Error starting at line : 1 in command - SELECT TZ_OFFSET() FROM DUAL Error at Command Line : 1 Column : 8 Error report - SQL Error: ORA-00909: invalid number of arguments 00909. 00000 - "invalid number of arguments" *Cause: *Action: