Mysql 添加根据其他 2 列计算的日期时间列

标签 mysql datetime

我有以下 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语句。 问候, 布莱恩

最佳答案

Use the MYSQL function DATEADD(datepart,number,date) where,

date is a valid date expression, number is the number of interval units you want to add or subtract & datepart can be hh for hours,d for days, ss for seconds, etc.

所以,在你的情况下,它变成:

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

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

关于Mysql 添加根据其他 2 列计算的日期时间列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31664939/

相关文章:

c# - 使用星期几获取日期

mysql - 使用命令行更改mysql用户密码

php - Flutter在尝试从php后端获取数据时返回null

c# - 如何将此字符串转换为日期?

C#:DateTime.DayOfWeek 与字符串比较

python - 如何在python中将日期时间转换为整数

python - 在 python 中保存 csv 文件,以日期时间作为文件名

mysql - 为什么限制 0,1 比限制 0、17 慢

mysql - SQL考勤数据库设计

mysql - 如何更新自定义 Sequelize 时间戳字段?