Mysql 从日期时间列中选择月份

Mysql 从日期时间列中选择月份,mysql,datetime,Mysql,Datetime,我有一个表,其中有一个日期时间列,名为:completed\u date(2016-05-27 04:08:53)。我想选择当前月份的所有数据,但忽略时间。大概是这样的: $query = mysqli_query($dbc, " select * from eob_posting where completed_date=DATE(NOW())"); 如何删除时间,以便子句中的只考虑日期?要获取当前月份,应使用年()和月(): 比其他答案还要短:-) 请注意,日期时间基本上也是“2

我有一个表,其中有一个日期时间列,名为:completed\u date(2016-05-27 04:08:53)。我想选择当前月份的所有数据,但忽略时间。大概是这样的:

  $query = mysqli_query($dbc, " select  * from eob_posting where
  completed_date=DATE(NOW())");

如何删除时间,以便子句中的只考虑日期?

要获取当前月份,应使用
年()
月()


比其他答案还要短:-)

请注意,日期时间基本上也是“2016-01-01 12:34:56”形式的字符串,因此您可以:

> SELECT LEFT(NOW(), 7) as YearAndMonth;
YearAndMonth
------------
2016-08
因此,您的查询很容易表示为:

SELECT * FROM eob_posting
WHERE LEFT(completed_date, 7) = LEFT(NOW(), 7)

狩猎快乐

他的问题让人困惑。这将返回仅在今天完成的行,而不是整个当月的行。@Mureinik好的,我将其更改为获取月份。如果您想要月份,为什么要使用
DATE()
> SELECT LEFT(NOW(), 7) as YearAndMonth;
YearAndMonth
------------
2016-08
SELECT * FROM eob_posting
WHERE LEFT(completed_date, 7) = LEFT(NOW(), 7)