使用 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如下所示

http://img1.mukewang.com/6496bfe70001b28300890280.jpg

拉风的咖菲猫
浏览 147回答 2
2回答

慕沐林林

尝试 MONTH 函数:SELECT * FROM vtag.supervisorupdate WHERE MONTH(dateAdded) = 11 = 一月。如果您的字段不是日期值,请将其转换为日期: 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

弑天下

您的查询应该是"SELECT * FROM vtag.supervisorupdate WHERE month(dateAdded) = ?"
打开App,查看更多内容
随时随地看视频慕课网APP