CASE
を使用する 列の状態をチェックし、条件付きでのみ有効な日付として解析しようとする式:
SELECT MyColumn, CASE WHEN REGEXP_LIKE(MyColumn, '^\s*\d\d\d\d\d\d\s*$') THEN TO_CHAR(TO_DATE(TRIM(MyColumn), 'YYMMDD'), 'MM/DD/YYYY') ELSE MyColumn END AS new_col FROM MyTable
プレ>ただし、一般的なコメントとして、テーブルに日付情報をテキストとして保存することは避けるべきです。これを回避する理由の 1 つが見えてきました。