MYSQL 根据年月如何查询数据?

2019-12-02 16:20:42 +08:00
 shaweren

数据库字段 time=2019-09-09 根据 year =2019,month=9 如何查询 2019 年 9 月的数据呢?

5967 次点击
所在节点    MySQL
13 条回复
finaldusk
2019-12-02 16:29:11 +08:00
time>=2019-09-01 and time<2019-10-01
arthas2234
2019-12-02 16:33:58 +08:00
date_format(time, '%Y%m') = '201909'
changdy
2019-12-02 16:37:56 +08:00
@arthas2234 2333 这样查询 不怕数据库崩溃吗...
qiayue
2019-12-02 16:38:28 +08:00
1 楼 2 楼都可以实现,但是如果数据量大,建议用 1 楼方法。
甚至可以改表,增加 year,month 字段
Orenoid
2019-12-02 16:38:43 +08:00
不是有 year 和 month 函数吗
arthas2234
2019-12-02 16:40:38 +08:00
@changdy 楼主没说数据量有多大,但是问这个问题,默认是做作业了
chickenJuicer
2019-12-02 16:41:02 +08:00
要不你直接 like 吧...
changdy
2019-12-02 16:51:20 +08:00
@arthas2234 哈哈 有那么一丢丢不太合适


@qiayue 应该用虚拟列 这种场景简直量身定做
shaweren
2019-12-02 18:34:00 +08:00
感谢各位大佬 /
<BR>
month(stime)='$month' AND year(stime)='$year' <br>解决办法
aapon
2019-12-02 19:17:19 +08:00
areless
2019-12-02 20:13:47 +08:00
unix 时间戳不好用吗。。。
ackoly
2019-12-02 21:23:22 +08:00
@shaweren 一楼的方法,如果数据量大点,秒杀你这种写法
ganning
2019-12-03 09:52:22 +08:00
更倾向于 1 楼的方法。最简单的往往是最高效的。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/625144

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX