영문 Character에서 날짜 데이터 조회영문 Character에서 날짜 데이터 조회

Posted at 2010. 11. 9. 02:56 | Posted in Computer/Oracle

사원테이블에서 입사일이 1982년 1월 1일 이후인 사람을 검색하기 위해 다음과 같이 입력하였다.

SELECT *
FROM EMP
WHERE HIREDATE>='1982/01/01';

SELECT *
FROM EMP
WHERE HIREDATE>='1982/01/01';

분명 책이랑 같은 내용이였는데 오류 메시지가 출력되었다.

역시 걸리는 부분이 있다면 나는 문자 셋을 영문에 맞춰 놓고 작업을 하기 때문에 형식이 다를 것이라 생각하였다.

SELECT *
FROM EMP
WHERE HIREDATE>='01/JAN/82'

영문 환경의 DATE 출력 형식으로 지정을 해주어야 정상적으로 표시된다.
//

Concatenation 연산자Concatenation 연산자

Posted at 2010. 11. 9. 01:54 | Posted in Computer/Oracle

Concatenation 연산자를 이용하면 질의문의 Result Set의 문자열을 병합할 수 있다.

그런데 단순히 컴마로 구분하는 것과 || 사용하는 것이 차이가 있었다.

SELECT ENAME, ' is a ', JOB
FROM EMP
WHERE ENAME = 'SMITH';

SELECT ENAME || ' is a ' || JOB
FROM EMP
WHERE ENAME = 'SMITH';


//

scott 계정에서 NVL() 함수 연습scott 계정에서 NVL() 함수 연습

Posted at 2010. 11. 9. 01:44 | Posted in Computer/Oracle

오라클에서 NVL() 함수를 사용하면 NULL 값을 다른 값으로 변환하여 사용할 수 있다.

SELECT ENAME, COMM, SAL*12+COMM, NVL(COMM, 0), SAL*12+NVL(COMM, 0)
FROM EMP;

//