我如何从MySQL中获取日期的月份

我希望能够使用以下语句从mysql中获取结果:

SELECT * 

FROM table

WHERE amount > 1000

但是我想获取限制在某个月和一年中的结果(基于用户的输入)…我试图这样做:

SELECT * 

FROM table

WHERE amount > 1000

AND dateStart = MONTH('$m')

$m一个月,但它给了错误。

在该表中,它实际上有两个日期:

startDateendDate,但我注重startDate。输入值为月份和年份。我该如何措辞根据当年那个月获得结果的SQL语句?

回答:

您很接近-向后进行比较(假设startDate是DATETIME或TIMESTAMP数据类型):

SELECT * 

FROM table

WHERE amount > 1000

AND MONTH(dateStart) = {$m}

回答:


  • 请注意,您正在使用mysql_escape_string或冒着SQL注入攻击的风险。
  • 列上的函数调用意味着如果存在索引,则无法使用

回答:


因为在列上使用函数不能使用索引,所以更好的方法是使用BETWEENSTR_TO_DATE函数:

WHERE startdate BETWEEN STR_TO_DATE([start_date], [format]) 

AND STR_TO_DATE([end_date], [format])

请参阅文档以了解格式语法。

回答:


  • 之间
  • STR_TO_DATE

以上是 我如何从MySQL中获取日期的月份 的全部内容, 来源链接: utcz.com/qa/435755.html

回到顶部