Di SQL Server, DATETIME2FROMPARTS()
fungsinya mirip dengan DATETIMEFROMPARTS()
fungsi, kecuali bahwa ia menerima 8 argumen dan mengembalikan datetime2 nilai. DATETIMEFROMPARTS()
fungsi di sisi lain, hanya menerima 7 argumen dan mengembalikan datetime nilai.
Pada dasarnya, Anda memberikan semua bagian tanggal/waktu dan fungsi ini akan mengembalikan datetime2 nilai berdasarkan bagian yang Anda berikan.
Sintaks
Pertama, inilah sintaksnya:
DATETIME2FROMPARTS ( year, month, day, hour, minute, seconds, fractions, precision )
Di mana masing-masing dari 7 argumen pertama adalah ekspresi bilangan bulat yang menentukan bagian tanggal tersebut. Misalnya, year
adalah bilangan bulat yang menentukan bagian tahun dari tanggal.
Argumen ke-8 adalah ekspresi integer yang memungkinkan Anda untuk menentukan ketepatan nilai kembalian. Nilai ini menentukan skala (yaitu jumlah digit di sebelah kanan tempat desimal).
Contoh
Berikut contoh penggunaannya:
SELECT DATETIME2FROMPARTS( 2021, 05, 10, 23, 35, 29, 500, 4 ) AS Result;
Hasil:
+--------------------------+ | Result | |--------------------------| | 2021-05-10 23:35:29.0500 | +--------------------------+
Nilai Tidak Valid
Semua argumen harus berupa nilai yang valid. Misalnya, Anda tidak dapat menentukan nilai bulan 13 atau menit 61.
Berikut adalah contoh di mana saya menentukan nilai bulan 13:
SELECT DATETIME2FROMPARTS( 2021, 13, 10, 23, 35, 29, 500, 4 ) AS Result;
Hasil:
Cannot construct data type datetime2, some of the arguments have values which are not valid.
Jumlah Argumen
Anda juga harus memberikan jumlah argumen yang benar (8):
SELECT DATETIME2FROMPARTS( 2021, 05, 10 ) AS Result;
Hasil:
The datetime2fromparts function requires 8 argument(s).
Nilai Null
Jika Anda memberikan nilai null untuk salah satu dari 7 argumen pertama, hasilnya adalah NULL:
SELECT DATETIME2FROMPARTS( 2021, 05, 10, NULL, 35, 29, 500, 4 ) AS Result;
Hasil:
+----------+ | Result | |----------| | NULL | +----------+
Namun, memberikan nilai nol untuk argumen ke-8 (yang menentukan presisi/skala) menghasilkan kesalahan:
SELECT DATETIME2FROMPARTS( 2021, 05, 10, 23, 35, 29, 500, NULL ) AS Result;
Hasil:
Scale argument is not valid. Valid expressions for data type datetime2 scale argument are integer constants and integer constant expressions.