【发布时间】:2012-02-19 04:12:41
【问题描述】:
如果我有一个 DateStart = 2012-03-19 00:00:00.000 和一个 DateEnd 2012-03-24 23:59:59.000 那么我试试
SELECT EventGuid,
Title,
DESCRIPTION,
CONVERT(DATETIME, FLOOR(CONVERT(FLOAT, DateStart))) AS
DateStart,
CONVERT(DATETIME, FLOOR(CONVERT(FLOAT, DateEnd))) + '23:59:59' AS DateEnd
,
Address1,
Address2,
City,
PostalCode,
Country,
Latitude,
Longitude,
SeatCount,
SeatCost,
Active,
DateCreated,
DATEPART(HH, DateStart) AS
StartHour,
LastModified
FROM Event
WHERE ( Active = 1 )
AND ( EventTypeGuid <> '00000000-0000-0000-0000-000000000000' )
AND ( CONVERT(DATETIME, '3/19/2012') <= DateEnd )
AND ( CONVERT(DATETIME, '3/19/2012') >= DateStart )
ORDER BY DateStart
它不拾取行。
如果我更改为介于语法之间
SELECT EventGuid,
Title,
DESCRIPTION,
CONVERT(DATETIME, FLOOR(CONVERT(FLOAT, DateStart))) AS
DateStart,
CONVERT(DATETIME, FLOOR(CONVERT(FLOAT, DateEnd))) + '23:59:59' AS DateEnd
,
Address1,
Address2,
City,
PostalCode,
Country,
Latitude,
Longitude,
SeatCount,
SeatCost,
Active,
DateCreated,
DATEPART(HH, DateStart) AS
StartHour,
LastModified
FROM Event
WHERE ( Active = 1 )
AND ( EventTypeGuid <> '00000000-0000-0000-0000-000000000000' )
AND ( CONVERT(DATETIME, '3/19/2012') BETWEEN DateStart AND DateEnd )
ORDER BY DateStart
它也没有得到 3/19 日期
然后我修改为下面的 SQl,DateStart=2012-06-03 23:59:51.000 DateStart2(我需要显示它)2012-06-04 00:00:00.000 和 DateEnd 2012-06-09 23 :59:59.000 但它并没有选择 6/4 日期...
SELECT EventGuid,
Title,
DESCRIPTION,
CONVERT(DATETIME, FLOOR(CONVERT(FLOAT, DateStart))) - '00:00:09' AS
DateStart,
CONVERT(DATETIME, FLOOR(CONVERT(FLOAT, DateStart))) AS
DateStart2,
CONVERT(DATETIME, FLOOR(CONVERT(FLOAT, DateEnd))) + '23:59:59' AS
DateEnd,
Address1,
Address2,
City,
PostalCode,
Country,
Latitude,
Longitude,
SeatCount,
SeatCost,
Active,
DateCreated,
DATEPART(HH, DateStart) AS
StartHour,
LastModified
FROM Event
WHERE ( Active = 1 )
AND ( EventTypeGuid <> '00000000-0000-0000-0000-000000000000' )
AND ( CONVERT(DATETIME, '6/4/2012') BETWEEN DateStart AND DateEnd )
ORDER BY DateStart
【问题讨论】:
-
你说的是哪个sql数据库?
标签: sql-server-2008 between date-range