我有一个查询要根据日期提取一些数据,如下所示$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如下所示
2 回答
慕沐林林
TA贡献2016条经验 获得超9个赞
尝试 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
- 2 回答
- 0 关注
- 146 浏览
添加回答
举报
0/150
提交
取消