mysql中时间戳查询结果

mysql中时间戳查询结果,mysql,timestamp,Mysql,Timestamp,我在一个名为“hits”的表中有一系列记录,每条记录在一个名为“current_time”的列中都有当前_时间戳(即2010-04-30 10:11:30) 我想做的是查询这些记录并只返回当月的记录。我好像没法让它工作 我尝试了一系列不起作用的查询,例如- Select * FROM hits WHERE MONTH(FROM_UNIXTIME(current_time)) = 4 我不知道我是否在正确的路线上 谁能给我指出正确的方向吗 干杯 WHERE MONTH(current_time)

我在一个名为“hits”的表中有一系列记录,每条记录在一个名为“current_time”的列中都有当前_时间戳(即2010-04-30 10:11:30)

我想做的是查询这些记录并只返回当月的记录。我好像没法让它工作

我尝试了一系列不起作用的查询,例如-

Select * FROM hits WHERE MONTH(FROM_UNIXTIME(current_time)) = 4
我不知道我是否在正确的路线上

谁能给我指出正确的方向吗

干杯

WHERE MONTH(current_time) = 4
因为您的时间戳不是unix时间戳

另外,我想您也要检查YEAR()


对于当前期间,您可以使用应用于curdate()函数的相应函数,因此,无需显式设置当前月数

我认为可能是这种情况,我刚刚尝试了-选择*FROM hits WHERE month(current_time)=4,它告诉我返回了零行。很奇怪?@Tom调试一直是一种工具。MONTH()函数返回什么?它是否与所需的数字
4
相同?
MONTH(FROM\u UNIXTIME(current\u time))
实际返回什么?有记录可以匹配吗?为什么不检查然后调整呢?编程不仅仅是简单的书写。这是一个迭代过程:写-测试-检查,写-测试-检查。。。永远不要假设,永远要验证。不要站在无助的“我刚刚试过”。做点什么。抱歉,我试过一些调试。基本上,如果我选择了月份('2010-04-30 10:17:32'),我会返回'4'。如果我从点击中选择了月份(当前时间),则每一行都返回为空。FROM_UNIXTIME查询返回1表示月份,返回1970表示年份。我尝试了月(字段)查询的组合,但似乎在循环。@Tom这似乎很奇怪。你确定你当前的时间域中有2010-04-30 10:17:32格式吗?@Col.Shrapnel-看起来很奇怪。我绝对肯定这个字段,它被设置为一个timestamp字段,默认值为current_timestamp-该字段的直接值是-2010-04-29 20:40:30