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: