0
我需要創建一個oracle plsql腳本,其輸入參數v_date爲帶時區類型的時間戳。 另外,我需要驗證v_date的格式是否符合上述格式'YYYY-MM-DD HH24:MI:SS TZH:TZM'。 我應該如何實現這一目標?在oracle中檢查帶有時區變量的時間戳格式plsql
我想通過改變輸入參數v_date爲字符串 achieveing這個,然後這個字符串轉換成時間戳與時區,如果在轉換則任何出錯的結論是格式錯誤。但它似乎TO_TIMESTAMP_TZ當日期字符串以不同的格式w.r.t指定的格式,而不是轉換它時,函數不會引發錯誤。
例如,
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'
總之,我想知道如何驗證時間戳與時區類型的格式。
沒有在查詢一個錯字,正確的查詢:SELECT TO_TIMESTAMP_TZ('15 -APR-15','YYYY-MM-DD HH:MI:SS TZH:TZM')來自DUAL; – PVJ
您將如何將值轉換爲字符串以傳遞它?來自哪裏的價值,以及爲什麼你認爲你不能將參數作爲時間戳與時區保留下來? – Boneist
我的實際情況是,接受格式爲「yyyy-MM-dd'T'HH:mm:ss.SSSZ」的輸入參數v_date,然後驗證傳入v_date的值是否爲給定的「yyyy-MM-dd」 T'HH:mm:ss.SSSZ「格式。直到現在無論我在這方面做了什麼研發,似乎「yyyy-MM-dd'T'HH:mm:ss.SSSZ」在oracle中都不是有效的時間戳格式。所以現在我試圖在'YYYY-MM-DD HH:MI:SS TZH:TZM'中用v_Date作爲字符串來實現故事,然後使用TO_TIMESTAMP_TZ()來驗證參數的格式。 – PVJ