프로시저 관련 질문 있습니다. 0 8 1,619

by 스파이 [2015.07.07 17:00:21]


예를들어

 

select  지역, 지역명, 이름,

fngetage(b.주민등록번호) 나이

where 고객정보.a, 주민등록번호.b

a.~~~~~

이런식으로 쿼리가 진행 됩니다.

궁금한 점은 fngetage 이 프로시저안에 13자리의 숫자가 들어오면 나이로 나오는데

그 부분을 특정나이 예를들면 15세 이상, 미만으로 할 수 있는 방법 아시는분 조언 부탁드립니다.

ex) fngetage((b.주민등록번호) >15 ) 나이

하아... ㅠㅠ 간단한거 같은데 시간을 좀 잡아 먹네요 ㄷㄷ

by 아발란체 [2015.07.07 17:14:47]
SELECT
  CASE
    WHEN(user_age >= 15) THEN '15 이상'
    WHEN(user_age < 15) THEN '15 미만'
  END 
FROM (
  SELECT
    TO_NUMBER(TO_CHAR(SYSDATE, 'YYYY')) - TO_NUMBER(SUBSTR(주민등록번호, 1, 4)) + 1 AS user_age
  FROM
    테이블명
)

 


by 스파이 [2015.07.07 17:28:48]

크... ㅠㅠ

매우 감사합니다.

그런데...

이미 짜여진 쿼리안에서 프로시저를 이용 해야 할 것 같은데...

프로시저를 이용한 방법은 없을까요?


by 스파이 [2015.07.07 17:42:48]

빠른 답변 감사합니다 ^^

즐거운 하루 보내세요~


by 마농 [2015.07.07 17:29:37]
SELECT 지역, 지역명, 이름
     , fngetage(b.주민등록번호) 나이
  FROM ...
 WHERE ...
   AND fngetage(b.주민등록번호) > 15
;

 


by 스파이 [2015.07.07 17:42:17]

워!!!!!!

왜 이렇게 간단한 것을!!!! ㅠㅠㅠㅠㅠㅠㅠ

하아... 예상치 못한 곳에서 시간을 잡아 먹고 있어서 황당했었는데...

감사합니다!!!! ^^

즐거운 하루 되세요~


by 겸댕2후니 [2015.07.07 17:31:29]
 SELECT
  CASE
    WHEN(fngetage(user_age) >= 15) THEN '15 이상'
    else '15 미만'
  END
FROM table_name
)

 


by 스파이 [2015.07.07 17:43:12]

^^ 댓글 달아 주셔서 매우 감사합니다~

즐거운 하루 되시길 바랍니다~


by 스파이 [2015.07.07 17:31:31]

select aa.*

(select  지역, 지역명, 이름,

fngetage(b.주민등록번호) 나이

where 고객정보.a, 주민등록번호.b

a.~~~~~

) aa, 고객정보 b

from

aa. 주민번호 = b.주민번호

b > 나이 15

이렇게도 가능할까요? 흐으음...

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입