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

Bagaimana cara menanyakan bidang DATETIME hanya menggunakan tanggal di Microsoft SQL Server?

gunakan rentang, atau fungsi DateDiff

 select * from test 
 where date between '03/19/2014' and '03/19/2014 23:59:59'

atau

 select * from test 
 where datediff(day, date, '03/19/2014') = 0

Pilihan lainnya adalah:

  1. Jika Anda memiliki kendali atas skema database, dan Anda tidak memerlukan data waktu, keluarkan.

  2. atau, jika Anda harus menyimpannya, tambahkan atribut kolom terhitung yang bagian waktu dari nilai tanggalnya dihilangkan...

Alter table Test Add DateOnly As DateAdd(day, datediff(day, 0, date), 0)

atau, dalam versi SQL Server yang lebih baru...

Alter table Test Add DateOnly As Cast(DateAdd(day, datediff(day, 0, date), 0) as Date)

kemudian, Anda dapat menulis kueri Anda secara sederhana:

select * from test 
where DateOnly = '03/19/2014'


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL Server:Temukan nilai default kolom dengan kueri

  2. Periksa/Ubah Tingkat Kompatibilitas Database di SQL Server (SSMS)

  3. Cara melihat log transaksi di SQL Server 2008

  4. Wawasan tentang Batasan Unik SQL Server

  5. Bisakah saya memiliki kunci asing yang mereferensikan kolom dalam tampilan di SQL Server?