在这里我们看到,在这种情况下,“正确”和“错误”列中确实存在一些不同。原因是在更简单的版本中(“错误”),Oraclecast(sysdate as timestamp) at time zone 'America/New_York'当然以此为基础DBTIMEZONE,并且不知道这些DATE列实际上代表欧洲/维也纳时区的时间。此信息(时区)DATE根本不包含在数据类型中!
概括
该数据类型DATE在数据库中占用的空间较少,并且比具有该数据类 冰岛电报号码数据 型的列处理速度更快TIMESTAMP WITH TIMEZONE。由于数据类型转换必须在数据库和应用程序中实现,因此这是相当复杂的。如果您只需要在应用程序中的几个位置为客户端输出正确的时间,则在此处简单计算会更容易。使用以下表达式完成正确的计算:
')必须使用数据可用的时区,并且at time zone 'America/New_York'必须在客户端的时区中指定。
更多信息
有关 Oracle 数据库和时区主题的更多信息,请参阅
博客在 Oracle 中设置数据库时区。