请教大家一个数据库时间类型字段设计的问题

2023-02-15 15:59:35 +08:00
 clockwork1122
在业务,其实很多场景的时间类型只需要到日期就行,但是大家经常都习惯用 datetime 类型呢?
设置成 datetime 时,在 group 以及搜索时徒增麻烦。
备注:搜索时,数据量小的时候喜欢直接用 dateformat 把字段和条件统一,数量量多的时候拼接 00:00 以及 23:59 的方式觉得太不美观了。

备注:自己能想到的点就是干脆两种类型全都要
472 次点击
所在节点    问与答
6 条回复
estk
2023-02-15 16:01:01 +08:00
new Date().toISOString()

'2023-02-15T08:00:46.758Z'
echo1937
2023-02-15 16:03:24 +08:00
大部分数据库都支持 DATE 函数,然后再 group 或者搜索即可。
Chad0000
2023-02-15 16:06:32 +08:00
如果业务确定的话,我直接使用 Int 类型。比如排课日期,性能肯定比 Date 类型好,也不用担心时区问题。
Chad0000
2023-02-15 16:06:53 +08:00
@Chad0000
直接存 8 位数,比如今天:20230215
clockwork1122
2023-02-15 17:08:41 +08:00
@echo1937 函数会让索引失效
clockwork1122
2023-02-15 17:09:30 +08:00
@Chad0000 我这么干过,觉得比大小也方便,但同事说这样有 bug....虽然我没遇到

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

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

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

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

© 2021 V2EX