只有几个月里的Mysql

时间:2016-05-04 10:27:49

标签: php sql mysqli

让我说我有这个问题:

SELECT COUNT(datum) FROM unique_ip WHERE (datum>='2016-02-01' AND datum<='2016-02-29')

我想做一个WHERE LIKE所以只有月份必须具体如01,02等。所以我的查询只是寻找:____- 02 -__。在这种情况下,我如何使用WHERE LIKE?

这是我的数据库方案:

  • ip - INT UNSIGNED - PK NOT NULL
  • datum - DATE - NOT NULL(基准表示日期)
  • 告诉 - INT - NOT NULL DEFAULT = 1(告诉意义统计)

如果需要,我很乐意为您提供更多信息。

5 个答案:

答案 0 :(得分:2)

您可以使用owin:AppStartup功能或类似MONTH()

答案 1 :(得分:0)

使用MONTH()功能。

供您查询。

$month1 = '02';
$month2 = '02';
SELECT COUNT(datum) FROM unique_ip WHERE (MONTH(datum)>='$month1' AND MONTH(datum)<='$month2')

答案 2 :(得分:0)

希望这会对你有所帮助。

SELECT COUNT(datum) FROM unique_ip WHERE 
month(datum)>='month1' AND month(datum)<='month2' ;

根据您的要求替换month1和month2。

答案 3 :(得分:0)

我已经在昨天回答了另一位用户的相同问题。解决方案是

SELECT * FROM `test` WHERE Year('payscale_date') = 2016 and Month('payscale_date') = 05

问题链接是how to compare only date and year in php codeigniter

答案 4 :(得分:0)

您可以使用DATE_FORMAT格式化日期

SELECT COUNT(datum) FROM unique_ip WHERE DATE_FORMAT(datum,'%m') = '02' and DATE_FORMAT(datum,'%Y') = '2016'