0

我有一个列名 logdate,它的日期格式如下

2011-01-04 23:35:44.000

我想选择 2011 年 6 月 1 日至 2011 年 6 月 30 日之间的其他列,因此查询应该是

select * from abc where logdate = ?
4

3 回答 3

5

您可以使用>=<

SELECT *
FROM abc
WHERE logdate >= '20110601' AND logdate < '20110701'
于 2012-07-06T17:22:05.900 回答
1

有许多方法可以操作 SQL 日期时间和表示 SQL 日期时间的字符串:

http://msdn.microsoft.com/en-us/library/ms186724(v=sql.105).aspx

一个非常直接的方法是使用 >= < 运算符。

SELECT *
FROM abc
WHERE logdate >= '20110601'
    AND logdate < '20110701'

您要使用 < 7 月 1 日而不是 <= 6 月 30 日的原因是,对日期的字符串解析假定它是该日期的午夜,并且它将排除 6 月 30 日凌晨 12 点之后的任何值。

于 2012-07-06T17:28:03.237 回答
0

假设这LogDate是一DateTime列,您可以使用以下查询来获取月份的完整范围:

WHERE logdate >= '2011-06-01' AND logdate < '2011-07-01'
于 2012-07-06T17:22:15.650 回答