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

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

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).


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Dapatkan 1 baris teratas setiap grup

  2. cross apply xml query berkinerja lebih buruk secara eksponensial saat dokumen xml tumbuh

  3. apakah mungkin untuk memilih EXISTS secara langsung sedikit?

  4. Pendekatan terbaik untuk menghapus bagian waktu dari datetime di SQL Server

  5. Bagaimana saya bisa mencadangkan database SQL Server jarak jauh ke drive lokal?