如何选择 UNIX 日期=“2010”在mysql查询中?
到目前为止,这是我的代码:
SELECT `date`, title, category, url
FROM cute_news
WHERE category = '4'
ORDER BY `date` DESC
我想根据年份制作页面,例如 2010 年、2009 年、2008 年等。 数据库将日期保存为 UNIX_Timestamp。不确定如何使用 Year 参数查询记录集?
WHERE unix_timestamp(YEAR) = '2010' or something???
提前致谢。我很困惑。
Here is my code so far:
SELECT `date`, title, category, url
FROM cute_news
WHERE category = '4'
ORDER BY `date` DESC
I want make pages based on the year, like, 2010 , 2009, 2008 and so on.
The database saves the date as UNIX_Timestamp. Not sure how to query a recordset with a Year parameter?
WHERE unix_timestamp(YEAR) = '2010' or something???
Thanks in advance. I'm baffled.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
您需要类似
WHERE YEAR(FROM_UNIXTIME(date_field)) = 2010
的内容。You'll want something like
WHERE YEAR(FROM_UNIXTIME(date_field)) = 2010
.您可以使用
FROM_UNIXTIME()
函数,但请注意,这不会使用date
列上的索引(如果存在):您的查询为 sargable,您可以使用
UNIX_TIMESTAMP()
函数改为:You can use the
FROM_UNIXTIME()
function, but be aware that this will not use an index on thedate
column, if one exists:For your query to be sargable, you could use the the
UNIX_TIMESTAMP()
function instead:尝试:
Try: