栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

从时间戳列中选择当前月份记录mysql

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

从时间戳列中选择当前月份记录mysql

更新

一种更好的索引友好型查询日期范围内数据的方法

SELECt id, FROM_UNIXTIME(timestampfield) timestamp   FROM table1 WHERe timestampfield >= UNIX_TIMESTAMP(LAST_DAY(CURDATE()) + INTERVAL 1 DAY - INTERVAL 1 MONTH)   AND timestampfield <  UNIX_TIMESTAMP(LAST_DAY(CURDATE()) + INTERVAL 1 DAY);

注意:
您不对列数据应用任何函数,而是在条件的右侧进行所有必要的计算(它们是常量,并且仅在执行后评估一次)。这样,您就可以使MySQL受益于该

timestampfield
列上可能具有的索引。

原始答案:

SELECt id, FROM_UNIXTIME(timestampfield) timestamp   FROM table1 WHERe MonTH(FROM_UNIXTIME(timestampfield)) = MonTH(CURDATE())   AND YEAR(FROM_UNIXTIME(timestampfield)) = YEAR(CURDATE())

注意:
尽管此查询产生正确的结果,但实际上使您可能在

timestampfield
列上使用的索引的正确使用无效(这意味着MySQL将被强制执行全扫描)

这是 SQLFiddle 演示



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/411771.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号