在SQL查询中比较月份和年份

时间:2019-03-08 18:02:19

标签: php sql

我只想在使用PHP的SQL中比较月份和年份,但是当我在SQL查询中仅使用月份和年份时,唯一的结果是00-00-0000。

$mounth = date("Y-m", time());
$histmessql = "SELECT * FROM historico WHERE data = $mounth";

2 个答案:

答案 0 :(得分:1)

我认为您必须将SQL查询更新为:

$histmessql = "SELECT * FROM historico WHERE data like  '%$mounth%'";

using =,这将获取一个完整的等式,而您必须使用like,下面是示例:

  • WHERE CustomerName LIKE 'a%'查找以“ a”开头的任何值

  • WHERE CustomerName LIKE '%a'查找以“ a”结尾的任何值

  • WHERE CustomerName LIKE '%or%'查找在任何 位置

  • WHERE CustomerName LIKE '_r%'查找包含“ r”的任何值 第二名

  • WHERE CustomerName LIKE 'a_%_%'查找以“ a”开头的所有值 且长度至少为3个字符

  • WHERE ContactName LIKE 'a%o'查找以“ a”开头的所有值, 以“ o”结尾

答案 1 :(得分:0)

我假设您数据库中的data列是任何日期/日期时间。按照这种假设,我认为您可以使用DATE_FORMAT(date,format)函数,并且您的代码看起来像

$mounth = date("Y-m", time());
$histmessql = "SELECT * FROM historico WHERE DATE_FORMAT(data, '%Y-%m') = '$mounth'";

您可以阅读更多 https://dev.mysql.com/doc/refman/5.6/en/date-and-time-functions.html#function_date-format