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

SQL:Menggunakan DATEADD dengan bigints

Lakukan saja DATEADD yang bermasalah dalam dua langkah, dimulai dengan satuan waktu yang lebih kasar (detik, menit, jam, dll.), kemudian turun kembali ke satuan waktu yang lebih halus untuk sisanya.

Hindari pergi ke level minggu dan bulan karena itu akan membutuhkan perhitungan kalender yang sebenarnya dan kami lebih suka sistem untuk menanganinya.

Contoh di bawah ini perlu menghitung waktu mulai dengan (mungkin) durasi arus yang besar dalam milidetik.

-- large durations can overflow the integer argument needed for DATEADD

-- so do as two steps subtracting minutes (60000ms) and then remaining milliseconds.

DATEADD(ms, -large_duration_ms%60000, DATEADD(minute, -large_duration_ms/60000, GETDATE()))


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Apakah ada kerugian untuk selalu menggunakan nvarchar(MAX)?

  2. SQL Server Geography tipe data titik terdekat secara online

  3. Buat Pekerjaan Agen SQL Server menggunakan SSMS

  4. SQL Server Ubah Lokasi File TempDB

  5. Enkripsi Data Transparan (TDE) di SQL Server dalam Grup Ketersediaan AlwaysOn pada Contoh