sql >> Database >  >> RDS >> Oracle

Reguliere expressie op datums in Oracle

Probeer deze:

with t(date_col) as (
select '01/01/2014' from dual
union all
select '1/2/2014' from dual
union all
select '01/3/2014' from dual
union all
select '1/04/2014' from dual
union all
select '11/1/14' from dual)
select date_col,
       case
         when regexp_instr(date_col, '^\d/\d/\d{4}$') = 1 then
          'd/m/yyyy'
         when regexp_instr(date_col, '^\d{2}/\d/\d{4}$') = 1 then
          'dd/m/yyyy'
         when regexp_instr(date_col, '^\d/\d{2}/\d{4}$') = 1 then
          'd/mm/yyyy'
         when regexp_instr(date_col, '^\d{2}/\d{2}/\d{4}$') = 1 then
          'dd/mm/yyyy'
         else
          'Unknown format'
       end date_format
  from t;

DATE_COL   DATE_FORMAT
---------- --------------
01/01/2014 dd/mm/yyyy
1/2/2014   d/m/yyyy
01/3/2014  dd/m/yyyy
1/04/2014  d/mm/yyyy
11/1/14    Unknown format


  1. Wat is het verschil tussen mysql.createConnection en mysql.createPool in de Node.js MySQL-module?

  2. Mysql-query:match tegen het gebruik van jokertekens

  3. Hoe kan ik een SQL Server-database op dezelfde server klonen in SQL Server 2008 Express?

  4. Postgres drop database error:pq:kan de momenteel geopende database niet verwijderen