1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
| SELECT madate || ' semble valide'
FROM matable
WHERE CHAR_LENGTH(madate) = 10
AND SUBSTRING(madate FROM 1 FOR 1) BETWEEN '0' AND '9'
AND SUBSTRING(madate FROM 2 FOR 1) BETWEEN '0' AND '9'
AND SUBSTRING(madate FROM 3 FOR 1) BETWEEN '0' AND '9'
AND SUBSTRING(madate FROM 4 FOR 1) BETWEEN '0' AND '9'
AND SUBSTRING(madate FROM 6 FOR 1) BETWEEN '0' AND '9'
AND SUBSTRING(madate FROM 7 FOR 1) BETWEEN '0' AND '9'
AND SUBSTRING(madate FROM 9 FOR 1) BETWEEN '0' AND '9'
AND SUBSTRING(madate FROM 10 FOR 1) BETWEEN '0' AND '9'
;
SELECT madate || ' semble de format YYYY/MM/DD'
FROM matable
WHERE CAST(SUBSTRING(madate FROM 6 FOR 2) AS INTEGER) BETWEEN 1 AND 12
AND CAST(SUBSTRING(madate FROM 9 FOR 2) AS INTEGER) BETWEEN 1
AND CASE
WHEN CAST(SUBSTRING(madate FROM 6 FOR 2) AS INTEGER) = 2
THEN 29
WHEN CAST(SUBSTRING(madate FROM 6 FOR 2) AS INTEGER) IN (4, 6, 9, 11)
THEN 30
ELSE
31
END
; |
Partager