SQL WHERE on now() not working correctly?
我有以下问题……
这将输出以下内容….
1318876658
1319135858
1319395058
1319654258
1319913458
1320176258
1320435458
1320694658
1320953858
1321213058
1321472258
号
所有这些时间戳现在都在前面。知道为什么输出什么吗?
但是,我需要将now()改为3天。72小时!
有什么想法吗?谢谢:)
- 你也可以做一个小的增强,然后输入('2'、'12'、'22'、'32')
- 我会修改@bumprbox的评论,说你应该养成使用IN ()的习惯,因为当你忘记在()中包围OR组,并且你开始得到各种不需要的行时,它可以节省你的调试时间。
- 好了,伙计们,谢谢你们的建议……以前从来没听说过这个,正如你们所说,迈克尔,调试是一种痛苦!
尝试:
但是您不应该将时间戳存储为CHAR或VARCHAR。
- 对!这很好用,只是在谷歌搜索一种转换时间戳的方法!非常感谢:)干杯,巴德…
- 阅读此链接:stackoverflow.com/questions/409286/datetime-vs-timestamp
- 还有这个:stackoverflow.com/questions/5989539/…
- 针对timestamp与datetime的区别及使用方法。
将查询更改为:
看看NOW()返回了什么。您的查询似乎是正确的(我觉得GROUP BY有点愚蠢…)。要请求将来的日期,请使用"日期"如下所示添加:
号
- 我有很多重复的行需要分组…
- @卢克,如果你需要将重复行分组,只需要ORDER BY。GROUP BY用于COUNT(), SUM(), AVG()等集料。
- 是的,好主意。通过选择now()来检查它是什么。可能会有不同的时区
- 我有几行具有相同的固定日期,所以我将它们分组?如果我删除了分组依据,那么最终会显示所有分组依据?但这仍然不起作用。这些是上面的时间戳,即使我以后去三天,我仍然能把它们全部显示出来????
- @邦伯克斯-显示到11月的时间戳,区域不可能那么远??
- 当我echo now()时,我得到2011-10-14 21:49:23……与时间戳相比,这是什么?这就是问题所在吗?
- mysql列是时间戳类型还是日期时间?
- 哎呀,它存储了一个时间戳,但它是varchar类型的……有什么我能做的吗?
- 尝试unix_timestamp()进行比较,而不是now()。我还没试过,不过看看有没有什么不同。mysql时间戳与unix时间戳不同
- 别以为这起作用了!只是让一切都消失了。
- 谢谢你的努力,巴德。