T-SQL memiliki fungsi yang disebut DATETIMEOFFSETFROMPARTS()
yang memungkinkan Anda mendapatkan datetimeoffset nilai dari berbagai bagian tanggal yang terpisah. Secara khusus, ini mengembalikan datetimeoffset nilai untuk tanggal dan waktu yang ditentukan dan dengan offset dan presisi yang ditentukan.
Contoh fungsi di bawah ini.
Sintaks
Sintaksnya seperti ini:
DATETIMEOFFSETFROMPARTS ( year, month, day, hour, minute, seconds, fractions, hour_offset, minute_offset, precision )
Dimana:
- 7 argumen pertama adalah ekspresi bilangan bulat yang menentukan bagian tanggal/waktu tertentu.
hour_offset
argumen adalah ekspresi bilangan bulat yang menentukan bagian jam dari offset zona waktu.minute_offset
adalah ekspresi bilangan bulat yang menentukan bagian menit dari offset zona waktu.precision
argumen adalah literal bilangan bulat yang menentukan ketepatan datetimeoffset nilai yang akan dikembalikan. Nilai ini sebenarnya menentukan skala (yaitu jumlah digit di sebelah kanan tempat desimal).
Contoh
Berikut contoh penggunaannya.
SELECT DATETIMEOFFSETFROMPARTS( 2021, 05, 10, 23, 35, 29, 500, 12, 30, 4 ) AS Result;
Hasil:
Result ---------------------------------- 2021-05-10 23:35:29.0500 +12:30
Argumen Tidak Valid
Anda perlu memastikan bahwa semua argumen valid, jika tidak, Anda akan mendapatkan kesalahan. Berikut adalah contoh penyediaan bagian jam di luar jangkauan (25). Bagian jam hanya boleh antara 0 dan 24.
SELECT DATETIMEOFFSETFROMPARTS( 2021, 05, 10, 25, 35, 29, 500, 12, 30, 4 ) AS Result;
Hasil:
Cannot construct data type datetimeoffset, some of the arguments have values which are not valid.
Jumlah Argumen
Anda harus memberikan jumlah argumen yang benar (10). Jika tidak, Anda akan mendapatkan kesalahan.
SELECT DATETIMEOFFSETFROMPARTS( 2021, 05, 10 ) AS Result;
Hasil:
The datetimeoffsetfromparts function requires 10 argument(s).
Argumen Null
Jika salah satu dari 9 argumen pertama adalah null, hasilnya adalah NULL
:
SELECT DATETIMEOFFSETFROMPARTS( 2021, 05, 10, NULL, 35, 29, 500, 12, 30, 4 ) AS Result;
Hasil:
Result ---------------------------------- NULL
Namun, jika argumen (presisi) terakhir adalah nol, maka kesalahan akan dikembalikan:
SELECT DATETIMEOFFSETFROMPARTS( 2021, 05, 10, 23, 35, 29, 500, 12, 30, NULL ) AS Result;
Hasil:
Scale argument is not valid. Valid expressions for data type datetimeoffset scale argument are integer constants and integer constant expressions.
Lihat juga DATETIME2FROMPARTS() Contoh di SQL Server (T-SQL) untuk menampilkan datetime2 nilai (tanpa offset).