可以将持续时间/时间存储在mysql datetime字段中

时间:2019-04-18 06:14:08

标签: mysql datetime time

我有一个出于各种原因需要接受各种日期/时间输入的字段。虽然我可以使用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

1 个答案:

答案 0 :(得分:2)

尽管MySQL实际上实际上have a TIME type实际上是https://video.twimg.com/tweet_video/CnLhpNuUkAAx4_6.mp4,但您不想使用它。相反,通常使用DATETIME是更好的选择。

话虽如此,如果您有一个DATETIME值,并且出于某种原因想要隔离时间分量,MySQL提供了一个TIME()函数,可以自行提取时间。