php - 使用 MySql 中的日期列基于月份选择行
问题描述
我有一个查询来根据日期提取一些数据,如下所示
$duplicateCheckQuery = "SELECT * FROM vtag.supervisorupdate WHERE dateAdded=?";
$stmtDupQuery = mysqli_stmt_init($conn);
if(!mysqli_stmt_prepare($stmtDupQuery, $duplicateCheckQuery)){
echo "Details check in supervisor table SQL statement failed";
} else {
mysqli_stmt_bind_param($stmtDupQuery,"s", $dateToCheck);
mysqli_stmt_execute($stmtDupQuery);
$result = mysqli_stmt_get_result($stmtDupQuery);
$totalOut = mysqli_fetch_array($result);
}
此查询基于date
.
但现在我想根据月份提取数据。但是我没有这样的月份列来提取数据。唯一可用的日期信息是此dateAdded
列。我知道MONTH
. MySql
但我不确定如何使用它来过滤此dateAdded
列中的数据。有人知道该怎么做吗?
编辑列中的 1
个日期样本,dateAdded
如下所示
解决方案
试试 MONTH 功能:
SELECT * FROM vtag.supervisorupdate WHERE MONTH(dateAdded) = 1
1 = 一月。
如果您的字段不是日期值,请将其转换为日期:
CAST(dateAdded AS DATE) as newDate;
或 STR_TO_DATE(dateAdded, '%Y-%d-%m') 作为 newDate
在最后:
SELECT * FROM vtag.supervisorupdate WHERE MONTH(STR_TO_DATE(dateAdded, '%Y-%d-%m')) = 1
推荐阅读
- python - Django 模型:TypeError:'Manager' 对象不可调用
- c++ - 是否可以将打印值返回到变量中?
- python - 如何在 for 循环中定义 tf.layer.dense 以创建隐藏层和隐藏单元的动态数量?
- django - “创建”新记录是否会覆盖具有相同键的现有记录?
- laravel - 使用刀片视图访问和测试 cookie
- cuda - cuda 中是否有 std::memcmp 的替代品?
- angular - 隐藏密码字段内的显示眼睛图标角度 6
- java - 检查链接以了解它是否是 android/java 中的图像
- javascript - onkeypress 不适用于 asp.net webform 中的文本框
- jquery - 它不是我在 ajax 中给出的控制器功能