Php SQL两个日期范围,带有特定的;“天”;射程内
这是我的问题Php SQL两个日期范围,带有特定的;“天”;射程内,php,mysql,sql,datetime,Php,Mysql,Sql,Datetime,这是我的问题 SELECT * FROM tableNAME WHERE st.column_date BETWEEN '" . $_SESSION['selectYear'] . "-" . str_pad($i, 2, "0", STR_PAD_LEFT) . "-11 00:00:00' AND '" . $_SESSION['selectYear'] . "-" . str_pad(($i +
SELECT *
FROM tableNAME
WHERE
st.column_date BETWEEN '" . $_SESSION['selectYear'] . "-" . str_pad($i, 2, "0", STR_PAD_LEFT) . "-11 00:00:00' AND '" . $_SESSION['selectYear'] . "-" . str_pad(($i + 1), 2, "0", STR_PAD_LEFT) . "-10 23:59:59'
此查询将在“十二月”这个月出现问题。
正在寻求帮助。看起来,
$i
是一个月号。例如,如果$i
为7,则看起来您需要此查询
SELECT *
FROM tableNAME
WHERE st.column_date BETWEEN '2019-07-11 00:00:00'
AND '2019-08-10 23:59:59';
正如您所发现的,您指定此日期范围的方式在一年结束时失败
对你有用的是这个查询
SELECT *
FROM tableNAME
WHERE st.column_date >= '2019-07-11'
AND st.column_date < '2019-07-11' + INTERVAL 1 MONTH;
选择*
从表名
其中st.column_日期>='2019-07-11'
和圣柱日<'2019-07-11'+间隔1个月;
- 给同一日期参数两次
- 您不需要指定00:00的时间
- 使用
获取结束日期。这在年底都能正常工作。它在二月这样的月份也能正常工作,即使是闰年,即使你的开始日期是2020-01-30+间隔1个月
- 请提供示例数据、所需结果,并提供关于您想要做什么的明确信息,而不是
。似乎
MySQL似乎没有前导零的问题-您可以安全地跳过填充。Wbat是str_pad($i+1)
的值吗?$i