gpt4 book ai didi

php - 为 SQL 选择月份和年份

转载 作者:行者123 更新时间:2023-11-28 23:37:12 25 4
gpt4 key购买 nike

我目前有一个代码可以根据某些信息选择某些 sql 查询。目前是这样的:

$sql = "SELECT * FROM transaction WHERE id_task = '2' AND id_child = '$number' AND MONTH(datetime) = MONTH('2016-02-13 20:36:41')";

问题是,虽然它确实选择了正确的月份,但我也想指定年份,但是,我不知道该怎么做。任何帮助将不胜感激

最佳答案

一个天真的解决方案是这样的:

MONTH(datetime) = MONTH('2016-02-13 20:36:41')
and YEAR(datetime) = YEAR('2016-02-13 20:36:41')

但是可以使用索引的更好、更高效的方法是:

WHERE
datetime>=subdate(date('2016-02-13 20:36:41'), (day('2016-02-13 20:36:41')-1))
and datetime<last_day('2016-02-13 20:36:41')+interval 1 day

这将计算给定月份的第一天:

subdate(date('2016-02-13 20:36:41'), (day('2016-02-13 20:36:41')-1))

这将计算下个月的第一天:

last_day('2016-02-13 20:36:41')+interval 1 day

所以你可以简单地使用>=first_day_of_given_month<first_day_of_next_month

关于php - 为 SQL 选择月份和年份,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35458379/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com