Php SQL查询以指定日期/时间格式选择当前或特定月份的值
我已将日期保存在数据库(mysql)中,保存为Php SQL查询以指定日期/时间格式选择当前或特定月份的值,php,mysql,sql,Php,Mysql,Sql,我已将日期保存在数据库(mysql)中,保存为(d-m-Y H:I:s) 如何编写sql查询来选择当前月份或特定月份的所有值?以MySQL日期格式存储日期,并使用以下查询: SELECT * FROM table WHERE MONTH(date_field) = MONTH(CURRENT_DATE) AND YEAR(date_field) = YEAR(CURRENT_DATE) 将日期
(d-m-Y H:I:s)
如何编写sql查询来选择当前月份或特定月份的所有值?以MySQL日期格式存储日期,并使用以下查询:
SELECT
*
FROM
table
WHERE
MONTH(date_field) = MONTH(CURRENT_DATE)
AND
YEAR(date_field) = YEAR(CURRENT_DATE)
将日期存储为字符串/varchar是一个非常糟糕的主意。将日期存储为MySQL日期格式,并使用以下查询:
SELECT
*
FROM
table
WHERE
MONTH(date_field) = MONTH(CURRENT_DATE)
AND
YEAR(date_field) = YEAR(CURRENT_DATE)
SELECT * FROM `your_table` WHERE MONTH(`your_date_column`)=6
AND YEAR(`your_date_column`)=2012
将日期存储为字符串/varchar是一个非常糟糕的主意
SELECT * FROM `your_table` WHERE MONTH(`your_date_column`)=6
AND YEAR(`your_date_column`)=2012
从2012年6月开始获取所有信息
SELECT *
FROM table
WHERE DATE_FORMAT(date_field,'%m-%Y') = '07-2012';
从2012年6月开始获取所有内容。更好的方法是在裸日期列上进行比较,并保持查询可搜索(即能够利用索引):
WHERE date\u field>=STR\u to\u date(CONCAT(YEAR(NOW()),“-”,MONTH(NOW()),“-01”),“%Y-%m-%d”)
更好的方法是在裸日期列上进行比较,并保持查询的可搜索性(即能够利用索引):WHERE date\u field>=STR\u to\u date(CONCAT(YEAR(NOW()),'-',MONTH(NOW()),'-01'),'%Y-%m-%d')
SELECT *
FROM table
WHERE DATE_FORMAT(date_field,'%m-%Y') = '07-2012';