Oracle
 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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да намерите името на услугата Oracle

  2. Поддържане на разпространение винаги активирано в Oracle Streams

  3. къде трябва да сложа ресурси на инсталационната програма (wxs файл, dmg-script, икона) и как да конфигурирам maven antrun при внедряване на самостоятелно приложение

  4. Как мога да разположа .NET приложение, което използва ODAC, без да инсталирам целия компонент на потребителя?

  5. Разлика в производителността на заявките pl/sql за вмъкване на всички и обикновени SQL вмъквания