我有一个查询,我用它从数据库中提取数据,但我发现它错过了第一天和最后一天。在本例中,它跳过了将“scadenze”设置为“01-05-2021”的记录,而遗漏了将“scadenze”设置为“31-05-2021”的记录。这几天我怎么也能融入?
这是我使用的查询:
$anno = date('Y'); // CURRENT YEAR
$mese = (date('m')+1); // THE MONTH THAT I NEED (THE NEXT ONE)
// FIRST DAY OF THE MONTH
$giornoinizio = '01';
$a = '';
$a .= $anno . '-' . $mese .'-' . $giornoinizio;
// LAST DAY OF THE MONTH
$giornofine = cal_days_in_month(CAL_GREGORIAN,$mese,$anno);
$b = '';
$b .= $anno . '-' . $mese .'-' . $giornofine;
$sql = "SELECT * FROM condominio WHERE scadenze BETWEEN '$a' AND '$b' ORDER BY scadenze ASC";
这个查询“有效”,但它删除了第一天和最后一天。我怎样才能包括他们?
谢谢
你让自己的生活变得很艰难。
您可以简单地使用这个日期代码获取2个日期,然后将date()函数添加到时间戳中。
$a = date('Y-m-d', strtotime('first day of +1 month'));
$b = date('Y-m-d', strtotime('last day of +1 month'));
$sql = "SELECT * FROM DATE(condominio) WHERE scadenze BETWEEN '$a' AND '$b' ORDER BY scadenze ASC";
但是这种数据连接到查询中是一种不好的习惯,如果进入它,会鼓励您进行SQL注入攻击。即使您正在转义输入,它也不安全!您应该始终在mysqli_
或pdo
API中使用准备好的参数化语句,而不是将用户提供的值连接到查询中。
不确定您使用的是哪个扩展,所以我只能建议使用PDO解决方案
$a = date('Y-m-d', strtotime('first day of +1 month'));
$b = date('Y-m-d', strtotime('last day of +1 month'));
$sql = "SELECT * FROM DATE(condominio)
WHERE scadenze BETWEEN :a AND :b
ORDER BY scadenze ASC";
$stmt = $con->prepare($sql);
$stmt->execute([':a'=>$a, ':b'=>$b]);
$result = $stmt->fetchAll();
foreach ( $results as $row ){
// process each row
}
问题内容: 我有以下形式的查询: 我很难确定上个季度的正确日期。因此,假设当前日期是 7月1日 ,即第三季度,我想将 4月1日 作为FIRST,将 6月30日 作为最后 一个季度 (即第二季度)的最后一天。 谷歌搜索了一下,找到了很多解决方案,但是每个解决方案都涵盖了SQL Server和可用的时髦方法,在我们的ORACLE数据库(Oracle 10g和11g)上不可用。 哦,是的,我还需要能够将
问题内容: 我正在设法迅速获得每月的第一天和最后一天。 到目前为止,我有以下内容: 但是我不确定如何获得最后的约会。我是否缺少内置方法?显然,它必须考虑leap年等。 问题答案: 您只需使用以下命令即可获得每月的第一天 要获得该月的最后一天,请添加一个月并减去一天: 或者,使用为您提供开始时间和月份长度的方法: 对于月份的最后一天的日期,请加上月份的长度减去一秒: 为Swift5更新:
问题内容: 亲爱的专业人员, 我有一个查询来获取本月的第一天和最后一天,但是我对本月第一天的时间戳有疑问。 自2015年2月起,我希望获得以下结果: @LastDOM是正确的,但是我没有得到@FirstDOM的时间戳部分的零,我得到了正确的日期,但是是运行脚本的时间。假设是上午8:50,我得到: 修复此小故障的最佳方法是什么? 问候, 缺口 问题答案: 将@FirstDOM转换为如下形式: 我希望
问题内容: 我正在查询以获取最近30天每天从数据库中获取的构建数量。但是现在已经需要标记没有构建的日子。 在我的WHERE子句中,我使用Submittime来确定是否有构建,如何修改它以包括COUNT(id)== 0但仅在最近30天内的天。 原始查询: 我尝试过的 问题答案: 您需要一个日期表,然后左联接到builds表。 像这样的东西:
问题内容: 我正在寻找获取上个月第一天和最后一天的最佳方法。我使用它们进行SQL查询以获取上个月的统计信息。 我认为这是最好的方法,更优化但又不那么全面,有人有另一种方法可以做到这一点吗? 谢谢!! 问题答案: 在PHP 5.3中,您可以使用类:
如何以moment.js中的以下格式获取当月的第一天和最后一天和时间: 2016-09-01 00:00