미성년이랑 아닌거랑 구분하는거는 의외로 쉬웠는데.. 나이대 구하는거는 삽질좀 했네..

막상 짜놓고 보니 -_- 이걸 왜 헤맸나.. 라는 생각도 들고...

역시 쿼리 짜는게 시간은 젤 잘가는듯...

미친 빠른 생일 때문에 -_- 짱나 죽는줄... 

거기다가 900이랑 \'900\' 이랑 달라서..(어찌보면 당연한건데 깜박하고 있었음...)

계속 30대나 10대.. 이 값이 떠야 하는데 \'엄마젖 더 먹을 나이\' 가 떠서 빡침..

보니까 900 이랑 2000 이랑 숫자로 비교하면 900이 더 작은걸로 인식하지만

\'900\' 이랑 \'2000\' 이랑 문자형태로 비교하면 앞 숫자가 2이기 때문에 2000이 더 작게 판별되서

삽질한 거였음 ㅠㅜ

예전에도 이거때문에 빡쳤는데 또 삽질하다니...

문자열 비교와 숫자의 비교는 다르다는걸 뇌에 확실히 세겨야 할듯

이걸 더 줄일 수 있으면 좋을듯 한데 ㅠㅜ .. 너무 긴 쿼리가 된듯..
------------------------


SELECT CASE WHEN TO_CHAR(SYSDATE,\'yyyy\')-:YEAR||:MONTH<900
                AND TO_CHAR(SYSDATE,\'yyyy\')-:YEAR||:MONTH!=801  
             AND TO_CHAR(SYSDATE,\'yyyy\')-:YEAR||:MONTH!=802 THEN \'엄마젖 더 먹을 나이\'
               WHEN TO_CHAR(SYSDATE,\'yyyy\')-:YEAR||:MONTH=801
              OR TO_CHAR(SYSDATE,\'yyyy\')-:YEAR||:MONTH=802
              OR (TO_CHAR(SYSDATE,\'yyyy\')-:YEAR||:MONTH>900
                    AND TO_CHAR(SYSDATE,\'yyyy\')-:YEAR||:MONTH<1900
                  AND TO_CHAR(SYSDATE,\'yyyy\')-:YEAR||:MONTH!=1801
                  AND TO_CHAR(SYSDATE,\'yyyy\')-:YEAR||:MONTH!=1802)  THEN \'10대\'
            WHEN TO_CHAR(SYSDATE,\'yyyy\')-:YEAR||:MONTH=1801
              OR TO_CHAR(SYSDATE,\'yyyy\')-:YEAR||:MONTH=1802
              OR (TO_CHAR(SYSDATE,\'yyyy\')-:YEAR||:MONTH>1900
                    AND TO_CHAR(SYSDATE,\'yyyy\')-:YEAR||:MONTH<2900
                  AND TO_CHAR(SYSDATE,\'yyyy\')-:YEAR||:MONTH!=2801
                  AND TO_CHAR(SYSDATE,\'yyyy\')-:YEAR||:MONTH!=2802)  THEN \'20대\'
            WHEN TO_CHAR(SYSDATE,\'yyyy\')-:YEAR||:MONTH=2801
              OR TO_CHAR(SYSDATE,\'yyyy\')-:YEAR||:MONTH=2802
              OR (TO_CHAR(SYSDATE,\'yyyy\')-:YEAR||:MONTH>2900
                    AND TO_CHAR(SYSDATE,\'yyyy\')-:YEAR||:MONTH<3900
                  AND TO_CHAR(SYSDATE,\'yyyy\')-:YEAR||:MONTH!=3801
                  AND TO_CHAR(SYSDATE,\'yyyy\')-:YEAR||:MONTH!=3802)  THEN \'30대\'  
       ELSE \'40대 이상\'
       END
FROM dual