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

Lantai tanggal di SQL server

Kuncinya adalah menggunakan DATEADD dan DATEDIFF bersama dengan pencacahan rentang waktu SQL yang sesuai.

declare @datetime datetime;
set @datetime = getdate();
select @datetime;
select dateadd(year,datediff(year,0,@datetime),0);
select dateadd(month,datediff(month,0,@datetime),0);
select dateadd(day,datediff(day,0,@datetime),0);
select dateadd(hour,datediff(hour,0,@datetime),0);
select dateadd(minute,datediff(minute,0,@datetime),0);
select dateadd(second,datediff(second,'2000-01-01',@datetime),'2000-01-01');
select dateadd(week,datediff(week,0,@datetime),-1); --Beginning of week is Sunday
select dateadd(week,datediff(week,0,@datetime),0); --Beginning of week is Monday

Perhatikan bahwa saat Anda melakukan floor per detik, Anda akan sering mendapatkan limpahan aritmatika jika menggunakan 0. Jadi, pilih nilai yang diketahui yang dijamin lebih rendah dari waktu saat Anda mencoba melakukan floor.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Menggunakan parameter output prosedur tersimpan di C#

  2. Kapan saya harus menggunakan variabel tabel vs tabel sementara di server sql?

  3. Akses Android ke database SQL jarak jauh

  4. Bagian waktu dari Bidang DateTime di SQL

  5. Bagaimana Menghubungkan Python ke SQL Server untuk Mengotomatiskan Proses Backend