【问题标题】:Verifying format of 'date'/'timestamp'/'timestamp with time' zone type parameter in oracle script在 oracle 脚本中验证 'date'/'timestamp'/'timestamp with time' 区域类型参数的格式
【发布时间】:2015-07-23 06:07:18
【问题描述】:

我需要验证'timestamp with time zone'类型的输入参数的格式。它在脚本中作为替换变量传递。 格式为'YYYY-MM-DD HH24:MI:SS TZH:TZM'。 我应该如何验证传递的值是给定的格式。为此使用哪个 oracle 函数?

不能使用 to_timestamp_tz 函数,因为它只会将 char-exp 转换为带有 tz 的时间戳。 这里我要验证传递的'timestamp with time zone'变量的格式。

【问题讨论】:

  • 日期没有任何格式。它们以 Oracle 专有的内部格式存储。在 a What you see 以人类格式显示。您所需要的只是使用适当的格式模型来确保发生显式转换。
  • 您需要一个正则表达式来验证时间戳。此问题可能与以下问题重复:stackoverflow.com/questions/1057716/…
  • 用正则表达式验证时间戳是最糟糕的主意。

标签: oracle validation timestamp timestamp-with-timezone


【解决方案1】:

您可以使用TO_TIMESTAMP_TZ 表示:

SELECT TO_TIMESTAMP_TZ('1999-12-01 11:00:00 -8:00',
   'YYYY-MM-DD HH:MI:SS TZH:TZM') FROM DUAL;

【讨论】:

  • TO_TIMESTAMP_TZ 将 char/varchar/varachar2 转换为带有 tz 的时间戳。我想用 tz 类型验证时间戳的格式
猜你喜欢
  • 1970-01-01
  • 2023-01-10
  • 1970-01-01
  • 1970-01-01
  • 2016-04-21
  • 2013-10-09
  • 2013-07-07
  • 1970-01-01
  • 2011-05-03
相关资源
最近更新 更多