오라클 소수점 자르는 문제인데여..고수님들도와주세요 0 4 1,335

by 스리갈라 [SQL Query] [2016.12.30 18:10:28]


SELECT
substr(NUM, instr(NUM,'.',1) + 1 )
FROM (SELECT '8.67' NUM FROM DUAL) union all (SELECT '8' NUM FROM DUAL)

67,

8

소수점이 없으면 결과값이 널이나오게끔 하고 싶은데  8이 나와버려서 답답합니다.

고수님들 도와주세요. 

 

by 블루스 [2016.12.30 23:01:22]

SELECT case when instr(A.NUM,'.',-1,1) > 0 then
         substr(A.NUM, instr(A.NUM,'.',1) + 1 )
       else
          ''
       end AS num
 FROM ((SELECT '8.67' NUM FROM DUAL)
        union all
      (SELECT '8' NUM FROM DUAL)) A;


by 스리갈라 [2017.01.01 16:05:23]

혹시 0.67 이런식으로는 못가져 오는 겁니까?;;;


by 마농 [2017.01.02 08:44:21]

MOD(num, 1)

NULLIF(MOD(num, 1), 0)


by 스리갈라 [2017.01.02 13:25:37]

와..이런 간단하게 해결되네요 ㅎ 감사합니다.

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