现在我有一个 MySQL 表,其中有一列名为“date_time”,它只列出了不同的 DATETIME 值(例如“2010-11-30 12:55:00”)。我是否可以直接构造一个查询:
- 选择 month 为当前月份的 DATETIME 值?
- 选择 DATETIME 值,其中天数不是过去的天数(例如,明天到月底?
我心目中的抽象查询如下所示:
$query = "SELECT * FROM meetings WHERE uid = " . $_SESSION['uid'] . "AND the DATETIME month is active month AND the DATETIME day is bigger than the active day"
这个功能在 MySQL 中是否可行(进行了一些搜索但没有发现任何有用的东西),或者我以后是否必须使用 PHP 函数来过滤掉这些东西?非常感谢。
最佳答案
MySQL 有大量的 date formatting可以为您解决此问题的函数:
按特定月份选择...
SELECT ... WHERE MONTH(date_time) = MONTH(now());
按未过去的天数选择:
SELECT ... WHERE DAY(date_time) > DAY(now());
当然,这些类型的查询会从任何年份的任何记录中挑选出相同的月份/日期。如果您想限制特定的时间段,则必须添加更多子句。
关于php - MySQL 查询来选择特定的 DATETIME 值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4203466/