오라클에서 factorial 구하기

내 이 세상 도처에서 쉴 곳을 찾아보았으나, 마침내 찾아낸, 컴퓨터가 있는 구석방보다 나은 곳은 없더라.

오라클에서 factorial 구하기

오라클에 factorial 함수가 없지만 다음과 같이 구할 수 있다.

select exp(sum(ln(level)))
from dual
connect by level <= N

원리

임을 이용하면 을 다음과 같이 표현할 수 있다.

n! =  1 * 2 * ... * n
   = exp(ln 1) * exp(ln 2) * ... * exp(ln n)
   = exp(ln 1 + ln 2 + ... + ln n)

참조