我有一个出于各种原因需要接受各种日期/时间输入的字段。虽然我可以使用DATETIME
类型存储日期和日期时间,例如:
2014-01-01 00:00:00
(日期)2014-01-01 01:20:23
(日期时间)我无法弄清楚如何存储时间。是否有可能,或者我需要存储某种用于在应用程序中进行解析的hack值,例如:
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
答案 0 :(得分:2)
尽管MySQL实际上实际上have a TIME type实际上是https://video.twimg.com/tweet_video/CnLhpNuUkAAx4_6.mp4,但您不想使用它。相反,通常使用DATETIME
是更好的选择。
话虽如此,如果您有一个DATETIME
值,并且出于某种原因想要隔离时间分量,MySQL提供了一个TIME()
函数,可以自行提取时间。