从带有时区的时间戳类型的日期时间值中减去 5 小时
Subtract 5 hours from a datetime value that is type timestamp with timezone
我正在查询具有日期时间列的 table,该值的格式为带时区的时间戳。我试过做一个 select hour(timestamp,-5) as NTime
和它的不同变体,但我得到的最多的是一个错误,指出时间戳不是有效的 name/type。我将正式结束这个....
基本上,我只需要新的别名列值是一个时间戳,比原始 table 中的时间戳晚 5 小时。提前谢谢大家!!
MariaDB / MySQL 没有“带时区的时间戳”数据类型。
DATETIME 是简单的挂钟时间,TIMESTAMP 是 UNIX time_t 时间戳(自 1970-01-01T00:00:00UTC 以来的秒数)。
您可以使用 tz_convert() 将 DATETIME 值从一个时区转换为另一个时区。
SELECT tz_convert('2022-04-08 21:53', 'America/Chicago', 'UTC')
例如。
或者,您可以像这样进行日期运算。
SELECT '2022-04-08 21:53' - INTERVAL 5 HOUR
我正在查询具有日期时间列的 table,该值的格式为带时区的时间戳。我试过做一个 select hour(timestamp,-5) as NTime
和它的不同变体,但我得到的最多的是一个错误,指出时间戳不是有效的 name/type。我将正式结束这个....
基本上,我只需要新的别名列值是一个时间戳,比原始 table 中的时间戳晚 5 小时。提前谢谢大家!!
MariaDB / MySQL 没有“带时区的时间戳”数据类型。
DATETIME 是简单的挂钟时间,TIMESTAMP 是 UNIX time_t 时间戳(自 1970-01-01T00:00:00UTC 以来的秒数)。
您可以使用 tz_convert() 将 DATETIME 值从一个时区转换为另一个时区。
SELECT tz_convert('2022-04-08 21:53', 'America/Chicago', 'UTC')
例如。
或者,您可以像这样进行日期运算。
SELECT '2022-04-08 21:53' - INTERVAL 5 HOUR