Tôi cần tìm kiếm giữa ngày và giờ.Tìm kiếm giữa ngày và giờ trong SQL Server 2008
Ví dụ, giữa date: 30/02/2007, time: 10:32
và date: 21/06/2008, time: 14:19
truy vấn đơn giản nhất cho điều này là gì?
Xin cảm ơn trước.
Tôi cần tìm kiếm giữa ngày và giờ.Tìm kiếm giữa ngày và giờ trong SQL Server 2008
Ví dụ, giữa date: 30/02/2007, time: 10:32
và date: 21/06/2008, time: 14:19
truy vấn đơn giản nhất cho điều này là gì?
Xin cảm ơn trước.
bạn nên nhìn vào các định dạng thời gian ngày có sẵn trong SQL Server: http://msdn.microsoft.com/en-us/library/ms187928.aspx
yyyy-mm-dd hh:mi
là những gì bạn nên sử dụng:
thử:
SELECT
*
FROM Records
WHERE DateCreated>='2007-02-30 10:32' AND DateCreated<='2008-06-21 14:19'
trong truy vấn ở trên, các chuỗi sẽ được chuyển thành d loại dữ liệu tại thời điểm nếu DateCreated
là cột ngày giờ. và truy vấn sẽ hoạt động.
bạn có thể tạo các biến cục bộ của kiểu dữ liệu datetime và sử dụng một truy vấn như:
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]
Tôi thích sử dụng <, < =,> =, hoặc> vì nó cho phép linh hoạt hơn BETWEEN
và các lực lượng bạn suy nghĩ về việc bao gồm điểm cuối hay không.
Một điều cần xem xét là nhận được tất cả dữ liệu từ một ngày trọn vẹn:
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
Hãy thử điều này:
SELECT
*
FROM
Records
WHERE
DateCreated BETWEEN @Date1 AND @Date2
cảm ơn đối với sự giúp đỡ, nhưng làm thế nào để viết ngày & thời gian? Ngày: 30/02/2007, thời gian: 10:32 và ngày: 21/06/2008, thời gian: 14:19 – Gold
Trong ví dụ trên, các biến @ Date1 và @ Date2 có kiểu datetime Điều này có nghĩa là bạn có thể gán ngày và giờ cho họ như thế này: 'DECLARE @ Date1 datetime SET @ Date1 = '2010-03-18 10: 52'' –