在MySQL中根据月/年获取所有行条目

时间:2018-03-12 11:01:13

标签: mysql sql

我有一个具有以下结构的数据库,我试图从这个表中获取所有行,基于使用timestamp列上的where传递月份和年份(这将是一个unix标准时间戳)

e.g month - 3, year - 2018 // get all rows for March 2018 only.

// db structure
id, timestamp, post_title

3 个答案:

答案 0 :(得分:1)

如果你想使用unix时间戳给定月份的行,我建议:

where timestamp >= unix_timestamp('2018-03-01') and
      timestamp < unix_timestamp('2018-04-01')

如果您传递的是变量,我建议您在月份的第一天传递并执行:

where timestamp >= unix_timestamp(?) and
      timestamp < unix_timestamp(? + interval 1 month)

答案 1 :(得分:1)

使用转换功能

SELECT  * FROM dbo.YourTable WHERE CONVERT(VARCHAR(5),DATEPART(mm,timestamp))+'-'+CONVERT(VARCHAR(5),DATEPART(yy,timestamp)) ='3-2018'

答案 2 :(得分:1)

我想这可以帮到你。

SELECT column_name(s) FROM table_name WHERE column_name BETWEEN value1 AND value2;