根据日期从表中选择数据

时间:2010-04-09 12:48:06

标签: sql mysql

我有像这样的数据库表

+-------+--------------+----------+
|   id  |    ip        |    date  |
+-------+--------------+----------+
|   505 |192.168.100.1 |2010-04-03|
|   252 |192.168.100.5 |2010-03-03|
|   426 |192.168.100.6 |2010-03-03|
|   201 |192.168.100.7 |2010-04-03|
|   211 |192.168.100.10|2010-04-03|
+-------+--------------+----------+

如何从这个表中检索数据,其中month = 03如何编写sql来做到这一点。

select * from table where month=03 
这样的事情。

4 个答案:

答案 0 :(得分:2)

如果使用mysql,请使用我认为的MONTH()函数。

select * from table where month(date) = 3

答案 1 :(得分:1)

可选地

select * from table where '2010-02-31' < date < '2010-04-01' 

应该有用。

答案 2 :(得分:1)

select * from table where month(date) = 3

如果您在2010-03赛季进行搜索,建议您这样做:

select * from table where date >= '2010-03-01' AND date < '2010-04-01'

因为此查询将使用索引(如果可用)

答案 3 :(得分:1)

SELECT * FROM Table WHERE month(date) = 3

或使用datepart功能:

SELECT * FROM Table WHERE datepart(mm, date)=3