[英]Select rows based on month by using a date column in MySql
I have a query to extract some data based on date as follows我有一个查询来根据日期提取一些数据,如下所示
$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);
}
This query is based on date
.此查询基于
date
。
But now I want to extract data based on month.但现在我想根据月份提取数据。 But I don't have such a month column to extract data.
但是我没有这样的月份列来提取数据。 The only available date information is this
dateAdded
column.唯一可用的日期信息是这个
dateAdded
列。 I know there is a MONTH
function in MySql
.我知道 MySql 中有一个
MONTH
MySql
。 But I am not sure how to use it to filter data from this dateAdded
column.但我不确定如何使用它来过滤这个
dateAdded
列中的数据。 Anyone know how to do it?有人知道该怎么做吗?
Edit 1 Sample of date in dateAdded
column as below编辑
dateAdded
列中的 1 个日期样本,如下所示
Try MONTH function:尝试 MONTH function:
SELECT * FROM vtag.supervisorupdate WHERE MONTH(dateAdded) = 1
1 = January. 1 = 一月。
If your field is not date value, cast it to date:如果您的字段不是日期值,请将其转换为日期:
CAST(dateAdded AS DATE) as newDate;
OR STR_TO_DATE(dateAdded, '%Y-%d-%m') as newDate或 STR_TO_DATE(dateAdded, '%Y-%d-%m') 作为 newDate
In the last:在最后:
SELECT * FROM vtag.supervisorupdate WHERE MONTH(STR_TO_DATE(dateAdded, '%Y-%d-%m')) = 1
Your query should be您的查询应该是
"SELECT * FROM vtag.supervisorupdate WHERE month(dateAdded) = ?"
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.