分手@givenDateTime
的日期分量和時間分量,並使用AND
建立起來的WHERE
子句:從here採取
DECLARE @givenDate DATETIME
SELECT @givenDate = DATEADD(dd, 0, DATEDIFF(dd, 0, @givenDateTime))
DECLARE @givenTime DATETIME
SELECT @givenTime = CONVERT(varchar(2),
CASE
WHEN DATEPART([hour], @givenDateTime) > 12 THEN CONVERT(varchar(2), (DATEPART([hour], @givenDateTime) - 12))
WHEN DATEPART([hour], @givenDateTime) = 0 THEN '12'
ELSE CONVERT(varchar(2), DATEPART([hour], @givenDateTime))
END
) + ':' +
CONVERT(char(2), SUBSTRING(CONVERT(char(5), @givenDateTime, 108), 4, 2)) + ' ' +
CONVERT(varchar(2),
CASE
WHEN DATEPART([hour], @givenDateTime) > 12 THEN 'PM'
ELSE 'AM'
END
)
SELECT * FROM myTable
WHERE tableDate <= @givenDate AND tableTime <= @givenTime
日期轉換。 時間轉換取自here。
請注意,@givenTime
的日期爲01 Jan 1900
(加上時間),因此請確保您的where子句將此考慮在內。
這些字段是以純文本還是以實際日期列存儲的?如果是這樣,時間字段與什麼日期保存? – 2010-06-07 20:43:01
真實日期時間類型 – Jango 2010-06-07 20:43:45