-
ORA-01843: 지정한 월이 부적합합니다 찾는 로직오라클 끄적끄적 2021. 8. 18. 09:53
WITH A AS
(
SELECT '20110101' AS BADDATE from DUAL
)
SELECT * FROM
(
SELECT BADDATE
, CASE WHEN BADDATE IS NULL THEN 'NULL'
WHEN NOT REGEXP_LIKE(BADDATE, '^[0-9]{4}(((0[13578]|(10|12))(0[1-9]|[1-2][0-9]|3[0-1]))|(02(0[1-9]|[1-2][0-9]))|((0[469]|11)(0[1-9]|[1-2][0-9]|30)))$')
THEN '날짜형식이 틀림'
WHEN NOT REGEXP_LIKE(SUBSTR(BADDATE, 1, 4), '((1[6-9]|[2-9]\d)([02468][48]|[2468][048]|[13579][26]))|((16|[2468][048]|[3579][26])00)')
AND SUBSTR(BADDATE, 5, 2) = '02' AND SUBSTR(BADDATE, 7, 2) = '29'
THEN '29일없음'
ELSE '정상'
END AS DATE_CHECK
FROM A
) where DATE_CHECK !='정상''오라클 끄적끄적' 카테고리의 다른 글
오라클 중복 값 체크 Group by having (0) 2021.03.12 A테이블과 B테이블 비교하여 없는데이터 찾기 (0) 2021.01.08 오라클 LEFT JOIN 이용 ROW 최대값 찾는방법 (0) 2021.01.08