【问题标题】:SQL: Convert GMT timezone to CETSQL:将 GMT 时区转换为 CET
【发布时间】:2022-01-10 15:19:54
【问题描述】:

我正在查询以下内容:

SELECT "date" FROM "database"

并收到下表:

date
2021-03-08 05:05:31+00
2021-03-08 05:10:31+00

显示的时间是格林威治标准时间。考虑到夏令时,如何将它们转换为 CET?

【问题讨论】:

  • 我试过这个 SELECT "date", convert_tz("date", 'GMT', 'CET') FROM "database" 但它没有用。你知道我将如何实现它吗?
  • 告诉我们它不起作用并不是很有帮助。发布您的实际代码和结果/错误消息。以下答案应该有效。
  • 这里是错误:错误:函数 convert_tz(timestamp with time zone, unknown, unknown) does not exist LINE 1: select "date", convert_tz(date, 'GMT', 'CET') ^ 提示:没有函数匹配给定的名称和参数类型。您可能需要添加显式类型转换。 SQL 状态:42883 字符:16。我认为这是因为我的日期包含时区? (+00 部分)可能是这个问题吗?

标签: mysql sql datetime timezone-offset datetimeoffset


【解决方案1】:

显然你需要在函数中指定时区偏移,而不是时区名称:

convert_tz(`date`,'+00:00','+10:00')

Fiddle

【讨论】:

  • 这会考虑夏令时吗?另外,我尝试了您的建议并收到此错误:函数 convert_tz(unknown, unknown, unknown) 不存在。我认为那是因为我的时间戳也有一个时区
  • 您的专栏是datetime 还是timestamp
  • 这是一个带时区的时间戳。
猜你喜欢
  • 2021-08-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-11-23
相关资源
最近更新 更多