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

TZ_OFFSET() Fungsi di Oracle

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:

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana cara mengakses struktur dan mendapatkan daftar kolom, tipe data refcursor?

  2. Oracle Set Operator

  3. Penyedia OraOLEDB.Oracle tidak terdaftar di mesin lokal

  4. Fungsi Numerik di Oracle (Daftar Lengkap)

  5. masalah menggunakan parameter Oracle di SELECT IN