入力パラメーター v_date をタイム ゾーンタイプのタイムスタンプとして持つ Oracle plsql スクリプトを作成する必要があります。また、v_date の形式が前述の形式 'YYYY-MM-DD HH24:MI:SS TZH:TZM' に従っているかどうかを確認する必要があります。どうすればこれを達成できますか?
入力パラメーター v_date を文字列として変更し、この文字列をタイムゾーン付きのタイムスタンプに 変換することでこれを達成することを考えていました。変換中にエラーが発生した場合は、形式が間違っていると結論付けます。しかし、日付文字列が指定された形式とは異なる形式である場合、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'
要するに、タイムゾーンタイプでタイムスタンプの形式を確認する方法を知りたいです。