Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

DATETIME2FROMPARTS() Contoh di SQL Server (T-SQL)

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.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Fungsi agregat dalam kueri pembaruan SQL?

  2. Bagaimana saya bisa menghapus cache kueri SQL Server?

  3. Operator agregat perkalian dalam SQL

  4. Keamanan Ketat CLR di SQL Server 2017

  5. Cara menghitung persentase dengan pernyataan SQL