为了账号安全,请及时绑定邮箱和手机立即绑定

使用 MySql 中的日期列根据月份选择行

使用 MySql 中的日期列根据月份选择行

PHP
拉风的咖菲猫 2023-06-24 18:04:59
我有一个查询要根据日期提取一些数据,如下所示$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


查看完整回答
反对 回复 2023-06-24
?
弑天下

TA贡献1818条经验 获得超8个赞

您的查询应该是

"SELECT * FROM vtag.supervisorupdate WHERE month(dateAdded) = ?"


查看完整回答
反对 回复 2023-06-24
  • 2 回答
  • 0 关注
  • 146 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信