如何将该日期转换为 CET 时间并从下面的 select 语句中获取适当的upd_date。
SELECT MAX(TO_DATE(TO_CHAR(upd_date,'yyyy-mm-dd HH:MI:SS'),'yyyy-mm-dd HH:MI:SS')) AS MAX_UPD_DATE
FROM MY_TABLE
WHERE user_id='SOMEVALUE';
MY_TABLE中的upd_date存储将显示为结果。但我不想要 UTC +0:00 时间.我想要欧洲中部时间(欧洲/斯德哥尔摩)请帮我解决这个问题。
SQL
中的SWITCHOFFSET()
将日期时间偏移量更改为您喜欢的任何时区。
根据 MDN,此更改不会影响原始日期时间偏移量。请参阅此处的链接
例如
SELECT SWITCHOFFSET(column_name, '-05:00') FROM my_table
对于Oracle
,您可以使用一些功能。例如 TZ_OFFSET(timezone)
文档或
SELECT FROM_TZ(column_name, 'US/Eastern') AT TIME ZONE 'Europe/London'
以下是有关 At 时区子句的更多信息。 链接。如果要查看所有可用的时区,可以运行以下查询:
SELECT DISTINCT tzname FROM V$TIMEZONE_NAMES;
我不建议添加或减去日期的一件事,因为这容易出现更多错误。
从 DUAL 中选择时区"CET"的 SYSTIMESTAMP;这对我有用