获取当月的记录

Foy*_*Vai 26 mysql sql select timestamp date

如何从MySql数据库表中选择当前月记录?

像现在这个月是1月.我想获得1月份的记录,其中我的表列的数据类型是timestamp.我想知道sql查询.

谢谢

Ama*_*wal 86

此查询应该适合您:

SELECT *
FROM table
WHERE MONTH(columnName) = MONTH(CURRENT_DATE())
AND YEAR(columnName) = YEAR(CURRENT_DATE())
Run Code Online (Sandbox Code Playgroud)

  • 不好:将为每一行计算`MONTH()`。最好尝试对列进行范围比较。 (4认同)
  • 这不太正确.如果我有"2015-12-25"和"2016-12-30"的记录,他们都会被选中,我认为这不是预期的行为.而是通过下面的@ saharsh-shah尝试解决方案. (3认同)
  • @Sebastian请提供答案 (3认同)
  • 该问题被标记为重复,请参阅链接的问题。无法添加新答案。您应该选择类似 `columnName > "2017-11-01 00:00:00"` 的内容。 (3认同)
  • @ Pila的评论在当时是准确的,但答案已经为查询更新,以产生正确的功能. (2认同)

Sah*_*hah 29

检查MySQL日期时间函数:

试试这个:

SELECT * 
FROM tableA 
WHERE YEAR(columnName) = YEAR(CURRENT_DATE()) AND 
      MONTH(columnName) = MONTH(CURRENT_DATE());
Run Code Online (Sandbox Code Playgroud)

  • @Sebastian 为什么不提供答案? (3认同)
  • 坏:将为每一行计算`MONTH()`.最好尝试对色谱柱进行范围比较. (2认同)
  • @Sebastian 请提供答案 (2认同)
  • 从t.stuff中选择*,其中介于DATE_FORMAT(NOW(),“%Y-%m-01”)和LAST_DAY(NOW())之间的日期; (2认同)