Oracle
 sql >> база данни >  >> RDS >> Oracle

Пропускане на знаци във функцията TO_DATE на Oracle

Можете да използвате знака за паунд (# ) за това:

SELECT TO_DATE('2015-01-01 01:00:00.999', 'yyyy-mm-dd hh24:mi:ss.###') FROM dual;
--> 01/01/2015 01:00:00

Не намерих това в документацията , така че не мога да кажа защо, но тези също работят:

SELECT TO_DATE('01_','hh24#') FROM dual;

SELECT TO_DATE('01:01:01.0xx','hh24:mi:ss.###') FROM dual;

Изглежда, че те не работят:

SELECT TO_DATE('010','hh24#') FROM dual;

SELECT TO_DATE('01:01:01.xxx','hh24:mi:ss.###') FROM dual;

Това изглежда недокументирано, но изглежда, че можете да разменяте препинателните знаци без проблеми:

SELECT TO_DATE('2015-01;01 11:12/13',
               'yyyy.mm,dd_hh-mi ss') FROM dual;
--> 01/01/2015 11:12:13

Можете да използвате символни литерали, оградени в двойни кавички ако знаете кой текст да игнорирате:

SELECT TO_DATE('foo2015bar-01-!#%}01', '"foo"yyyy"bar"-mm-"!#%}"dd') FROM dual;
--> 01/01/2015


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Агрегиране на различни стойности в колекции в SQL GROUP BY

  2. Как да конвертирам стойности, разделени със запетая, в редове в Oracle?

  3. regexp за всички знаци с ударения в Oracle

  4. В SQL*Plus, как да променя подканата, за да показва свързания потребител и база данни?

  5. ORA-6502 с тригер за регистриране на разрешение