1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
|
SELECT duree,
CASE
WHEN REGEXP_LIKE(duree , '^([0-6]?[0-9]):[0-5][0-9]$' )
THEN case when to_date(duree,'mi:ss')<=to_date('36:59','mi:ss') then 'Match found' else 'No Match Found' end
|| ' version 2 : ' || case when lpad(duree,5, '0')<='36:59' then 'Match found' else 'No Match Found' end
ELSE 'Invalid format'
END AS output
FROM (SELECT '36x59' AS duree FROM dual
UNION ALL SELECT '36:69' AS duree FROM dual
UNION ALL SELECT '37:59' AS duree FROM dual
UNION ALL SELECT '23x45' AS duree FROM dual
UNION ALL SELECT '23:45' AS duree FROM dual
UNION ALL SELECT '5:45' AS duree FROM dual
)
select lpad('5:45',5, '0') from dual |