文字列を日付に変換してフォーマットすることについて以前に質問し ました.ORACLE 11g SQLの文字位置に基づいて文字列を分割する
WKENDING が VARCHAR2 で RYEAR が日付の場合、私が思いついた解決策は次のとおりです。WKENDING には「523」(mmdd) のようなデータがあり、RYEAR は「2012」です。
UPDATE OB_SEL_LST84_AGG_WKEND SET WKENDYEAR = (TO_DATE((TO_DATE(substr(WKENDING,3,2)),'dd')||(TO_DATE(substr(WKENDING,0,1)),'mon')||(TO_DATE(TO_CHAR(RYEAR)),'yyyy')),'dd-mon-yyyy');
「ORA-00907: 右括弧がありません」というエラーが表示されます。括弧を数回再確認しましたが、正しいように見えます..どんな助けでも素晴らしいでしょう..ありがとう!
更新 - 上記の構文を調べた後、TO_DATE の変換試行が多すぎるのではないかと思いました。だから、私はそれをこれに短縮しました..
UPDATE OB_SEL_LST84_AGG_WKEND SET WKENDYEAR = (TO_DATE((substr(WKENDING,3,2))||(substr(WKENDING,0,1))||TO_CHAR(RYEAR)),'dd-mon-yyyy');
私はまだかっこの欠落エラーを取得しています.. ARGH!