오라클에서 오늘 날짜를 가져올 때

SELECT SYSDATE FROM DUAL

DUAL은 VARCHAR2(1)인 DUMMY 필드 하나만 가진 더미 테이블이다.

따로 테이블이 필요없는 문장에서 사용하기 위해 그냥 있는 거다. 날짜나 숫자 계산할 때 특별한 테이블에서 계산하는 거 아닐때 쓴다.

테이블 이름이 더미가 아니라 듀얼이다. 잘못 기억한게 인이 박혀서;; 젠장.

ezgen에서 equijoin 사용할 때 주의할 점

오라클에서 equijoin 했을 때.

select e1.ename, e2.ename from emp e1, emp e2 where e1.mgr=e2.empno

원래는 이렇게 해도

ENAME ENAME
——————– ——————–
FORD JONES
JAMES BLAKE
TURNER BLAKE
MARTIN BLAKE
WARD BLAKE
ALLEN BLAKE

이런 결과가 나와야 한다.
그런데 ezgen에서는 이렇게 할 경우 필드명을 구분하지 못하여

ENAME ENAME
——————– ——————–
FORD FORD
JAMES JAMES
TURNER TURNER
MARTIN MARTIN
WARD WARD
ALLEN ALLEN

이렇게 나와버린다. 버그이기는 한 것 같지만 오해를 막기 위해 sql문을 다음과 같이 작성한다.

select e1.ename e1name, e2.ename e2name from emp e1, emp e2 where e1.mgr=e2.empno