sql >> データベース >  >> RDS >> Oracle

ORA-01843 がスローされないレコードのみをフォーマットする方法は?

    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 つが見えてきました。




    1. 日時が次の1時間以内であるMySQLからの行を表示する

    2. codeigniterクエリを使用して製品ごとの平均評価を取得するにはどうすればよいですか?

    3. MySQLは複数のテーブルから行を削除します

    4. タイムゾーンを読み込めませんか?