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

Dapatkan baris di mana kolom datetime =hari ini - SQL server noob

Pada SQL Server 2008, Anda akan memiliki DATE baru tipe data, yang dapat Anda gunakan untuk mencapai ini:

SELECT (list of fields)
FROM dbo.YourTable
WHERE dateValue BETWEEN 
   CAST(GETDATE() AS DATE) AND DATEADD(DAY, 1, CAST(GETDATE() AS DATE))

CAST(GETDATE() AS DATE) melemparkan tanggal dan waktu saat ini ke nilai hanya-tanggal, mis. return '2010-04-06' untuk 6 April 2010. Menambahkan satu hari ke dalamnya pada dasarnya memilih semua nilai datetime hari ini.

Di SQL Server 2005, tidak ada cara mudah untuk melakukan ini - solusi paling elegan yang saya temukan di sini adalah menggunakan manipulasi numerik DATETIME untuk mencapai hasil yang sama:

SELECT (list of fields)
FROM dbo.YourTable
WHERE dateValue BETWEEN 
   CAST(FLOOR(CAST(GETDATE() AS FLOAT)) AS DATETIME) AND 
   DATEADD(DAY, 1, CAST(FLOOR(CAST(GETDATE() AS FLOAT)) AS DATETIME))


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cara Membuat Tabel di SQL Server

  2. Kinerja SQL Server — Pengujian di Cloud

  3. Akses ke kumpulan Hasil dari dalam Prosedur tersimpan Transact-SQL SQL Server

  4. Kesalahan SQL:Sintaks salah di dekat kata kunci 'Pengguna'

  5. Kembalikan jumlah baris yang terpengaruh oleh pernyataan UPDATE