Excel의 EVEN 함수와 동일하게 구현하고 싶습니다. 0 4 101

by InsideCore [PL/SQL] [2017.12.06 14:42:43]


안녕하세요..

고수님들.

Excel의 EVEN 함수와 동일한 기능을 Oracle DB에 만들고 싶은데..

머리가 나빠서 인지 도저히 구현 방법을 모르겠습니다.

숫자를 계산하기 위해 사용하고 싶은데요..

SELECT *

 FROM AAA

WHERE MOD(BBB,2) = 0;

 

위와 같온 로직이 아니고,

계산하기 위한 로직입니다.

 

도움 부탁 드립니다.

by 랑에1 [2017.12.06 15:18:13]
TRUNC(CEIL(숫자)/2 + MOD(CEIL(숫자),2))*2
확실치 않아요.. 

by 마농 [2017.12.06 15:29:37]
WITH test AS
(
SELECT 4.8 - LEVEL * 0.4 x
  FROM dual
 CONNECT BY LEVEL <= 18
)
SELECT x
     , CEIL(ABS(x) / 2) * 2 * SIGN(x) y
  FROM test
;

-- EVEN(x) : 가까운 짝수 찾기, 양수는 올림, 음수는 내림
  X    Y
----- ---
 4.4   6
 4     4
 3.6   4
 3.2   4
 2.8   4
 2.4   4
 2     2
 1.6   2
 1.2   2
 0.8   2
 0.4   2
 0     0
-0.4  -2
-0.8  -2
-1.2  -2
-1.6  -2
-2    -2
-2.4  -4

 


by 랑에1 [2017.12.06 15:36:10]

음수는 생각도 못했네요 ㅜㅜ


by InsideCore [2017.12.07 08:06:17]

마농님

감사합니다.

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