由于各种原因,我有一个字段需要接受各种日期/时间输入。虽然我可以使用 DATETIME
类型来存储日期和日期时间,例如:
2014-01-01 00:00:00
(日期)2014-01-01 01:20:23
(日期时间)
我不知道如何存储时间。是否有可能以任何方式,或者我是否需要存储某种 hack-value 用于在应用程序中进行解析,例如:
0000-01-01 05:00:00
(解析为05:00:00
--> 时间)
或者,是否有更好的存储方式?
比如我目前做的sql是这样的:
select if(vd=date(vd), date(vd),
if(date(vd)='0000-01-01', right(vd,8),
vd)) formatted_vd, vd from spread
formatted_vd vd
2014-01-01 2014-01-01 00:00:00
2014-01-01 01:12:23 2014-01-01 01:12:23
05:00:00 0000-01-01 05:00:00
最佳答案
虽然 MySQL 实际上是 have a TIME type ,大多数时候(没有双关语意),你不想使用它。相反,使用 DATETIME
通常是更好的选择。
也就是说,如果您有一个 DATETIME
值,并且出于某种原因您想要隔离时间部分,MySQL 提供了一个 TIME()
函数,它可以提取时间本身。
关于mysql - 在 mysql 日期时间字段中存储持续时间/时间的可能性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55740054/