我有以下MySQL表结构:

PositionDateTime [DateTime]
Hour             [Int]


我想添加一个称为BaseDateTime的附加列,它将通过采用PositionDateTime-小时来计算

Example of desired result:
PositionDateTime: 2015-07-02 12:00:00
Hour: 6
BaseDateTime: 2015-07-02 06:00:00


感谢您的任何建议或sql语句。
问候,
布赖恩

最佳答案

使用MYSQL函数DATEADD(datepart,number,date)其中,
  
  date是有效的日期表达式,
    number是要加或减&的间隔单位数
       datepart可以是hh表示小时,d表示几天,ss表示秒等。


因此,在您的情况下,它变为:

SELECT DATEADD(hh,Hour,PositionDateTime) AS BaseDateTime FROM <TABLE_NAME>;


有关此功能的更多信息,请访问:this W3Schools link

07-28 12:57