首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何查询存储为int(11)的日期

问如何查询存储为int(11)的日期
EN

Stack Overflow用户
提问于 2015-04-09 20:20:15
回答 1查看 654关注 0票数 0

日期存储在int(11)中,作为fuelphp的默认值。现在我想提取每个月和一年的数据,以便存档。使用mysql查询,条件为月(日期)=‘2月’和年(日期)= '2014‘。我尝试使用以下mysql查询,但无济于事。

代码语言:javascript
复制
SELECT
    contents.*,
    menus.menu_parent,
    categories.category_alias
FROM
    contents
LEFT JOIN
    menus ON menus.link = contents.id
JOIN
    categories ON categories.id = contents.category_id
WHERE
    contents.status = '1' AND
    DATE_FORMAT(FROM_UNIXTIME(contents.`published_date`), '%Y %M') = '2014 January' AND
    contents.category_id = 3

数据库中的日期值如下所示:2014.8.17- 1408212900 2015.3.27- 1427393700

存储到数据库期间:strtotime(日期)

我该如何解决这个问题呢?欢迎任何帮助/建议。提前谢谢。

EN

回答 1

Stack Overflow用户

发布于 2015-04-09 20:29:00

也许像这样的东西会对你有所帮助:

代码语言:javascript
复制
SELECT contents.*, menus.menu_parent, categories.category_alias 
FROM contents 
LEFT JOIN menus ON menus.link = contents.id 
JOIN categories ON categories.id = contents.category_id 
WHERE contents.status = '1' 
AND MONTHNAME(FROM_UNIXTIME(last_activity)) = 'January'
AND YEAR(FROM_UNIXTIME(last_activity)) = 2014
AND contents.category_id = 3;

您可以使用以下命令首先转换要与实际日期进行比较的字段

代码语言:javascript
复制
FROM_UNIXTIME

有关MySQL中日期时间函数的更多信息,请访问:https://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html

编辑:为了提高查询性能,您可以将这两种方法结合使用:

代码语言:javascript
复制
SELECT contents.*, menus.menu_parent, categories.category_alias 
FROM contents 
LEFT JOIN menus ON menus.link = contents.id 
JOIN categories ON categories.id = contents.category_id 
WHERE contents.status = '1' 
AND DATE_FORMAT((FROM_UNIXTIME(last_activity)),'%M-%Y') = 'January-2014'
AND contents.category_id = 3;
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29538318

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档