Oracle
 sql >> Teknologi Basis Data >  >> RDS >> Oracle

Bagaimana cara memformat hanya catatan yang ORA-01843 tidak dibuang?

Gunakan CASE ekspresi yang memeriksa status kolom, dan hanya secara kondisional mencoba mengurai sebagai tanggal yang valid:

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

Tetapi sebagai komentar umum, Anda harus menghindari menyimpan informasi tanggal di tabel Anda sebagai teks. Anda sekarang melihat salah satu alasan untuk menghindari ini.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana mengidentifikasi nilai yang tidak valid (rusak) yang disimpan di kolom TANGGAL Oracle

  2. Perilaku kinerja Oracle yang tidak konsisten dari kueri

  3. Jenis Tabel dalam Contoh Prosedur Tersimpan Oracle

  4. Oracle Run Procedure dengan satu parameter masuk dan beberapa parameter keluar

  5. Perubahan Antarmuka Oracle