我需要创建一个 oracle plsql 脚本,其中输入参数 v_date 作为时区类型的时间戳。我还需要验证 v_date 的格式是否与提到的格式 'YYYY-MM-DD HH24:MI:SS TZH:TZM' 一致。我应该如何实现这一目标?
我正在考虑通过将输入参数 v_date 更改为String来实现 这一点,然后将此字符串转换为带时区的时间戳,如果转换时发生任何错误,则得出格式错误的结论。但似乎TO_TIMESTAMP_TZ函数在日期字符串的格式与指定格式不同时不会引发错误,而是对其进行转换。
例如
SELECT TO_TIMESTAMP_TZ('15-APR-15',
'YYYY-MM-DD HH:MI:SS TZH:TZM') FROM DUAL;
实际结果 :14-APR-15 11.50.00.000000000 PM AMERICA/CHICAGO
预期结果 :Some error as format is not as per 'YYYY-MM-DD HH:MI:SS TZH:TZM'
简而言之,我想知道如何使用时区类型验证时间戳的格式。