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

Cari antara tanggal dan waktu di SQL Server 2008

Anda harus melihat format waktu tanggal yang tersedia di SQL Server:http:// msdn.microsoft.com/en-us/library/ms187928.aspx

yyyy-mm-dd hh:mi adalah apa yang harus Anda gunakan:

coba:

SELECT
    *
    FROM Records
    WHERE DateCreated>='2007-02-30 10:32' AND DateCreated<='2008-06-21 14:19'

dalam kueri di atas, string akan dikonversi ke tipe data datetime jika DateCreated adalah kolom datetime. dan kueri akan berfungsi.

anda dapat membuat variabel lokal dari tipe data datetime dan menggunakan kueri seperti:

DECLARE @StartDate datetime, @EndDate datetime

SELECT @StartDate='2007-02-30 10:32', @EndDate='2008-06-21 14:19'

SELECT
    *
    FROM Records
    WHERE DateCreated>[email protected] AND DateCreated<[email protected]

Saya suka menggunakan <, <=,>=, atau> karena memungkinkan lebih banyak fleksibilitas daripada BETWEEN dan memaksa Anda untuk berpikir untuk menyertakan titik akhir atau tidak.

Hal lain yang perlu dipertimbangkan adalah mendapatkan semua data dari hari yang lengkap:

DECLARE @StartDate datetime, @EndDate datetime

--set the days you want
SELECT @StartDate='2007-02-30 10:32', @EndDate='2008-06-21 14:19'

--remove the time
SELECT @StartDate=DATEADD(day,DATEDIFF(day,0,@StartDate),0), @EndDate=DATEADD(day,DATEDIFF(day,0,@EndDate),0)

--get everything on '2007-02-30' up to the end of the day on '2008-06-21'
SELECT
    *
    FROM Records
    WHERE DateCreated>[email protected] AND DateCreated<@EndDate+1


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Mencari penampil file Log Transaksi SQL

  2. Mengonversi DateTime ke Format YYYY-MM-DD di SQL Server

  3. Mengembalikan nilai dan hasil yang ditetapkan dari prosedur tersimpan asp klasik

  4. Pilih baris di mana nilai kolom telah berubah

  5. Kelola File MDF di SQL Server 2019