다음과 같은 자료를 갖는 TABLE을 가정해보자.
Employee Name Employee Address City State ZIP
------------- ---------------- ----------- ----- ---------
Donald Duck 101 Cool Pond Bedford OR 12345
Bugs Bunny 540 Carrot Way Atlanta GA 29292
Elmer Fudd
Taz Devil 999 Wildwoods Nashville TN 99999
REPORT를 생성할 때에는 종종 CITY와 STATE를 COMMA(,)로 연결하여 출력하곤
한다.
이때 다음과 같이 COLUMN 간에 CONCATENATING를 이용하면 가능하다.
select employee_name,
employee_address,
city || `, ` || state || ` ` || zip city_state_zip
from decode_sample;
위의 문장은 다음과 같은 결과를 갖는다.
EMplOYEE_NAME EMplOYEE_ADDRESS CITY_STATE_ZIP
-------------------- -------------------- ------------------------
Donald Duck 101 Cool Pond Bedford, OR 12345
Bugs Bunny 540 Carrot Way Atlanta, GA 29292
Elmer Fudd ,
Taz Devil 999 Wildwoods Nashville, TN 99999
위와 같은 경우에서 주소의 자료가 없는 경우 필요없는 COMMA만 출력되게 된다.
이런 경우에 DECODE문을 이용하여 다음과 같이 처리하면 깔끔한 OUTPUT을
받을 수 있게 된다.
select employee_name,
employee_address,
city || decode(`, ` || state,`, `,``,`, ` || state) || ` `
|| zip city_state_zip
from decode_sample;
EMplOYEE_NAME EMplOYEE_ADDRESS CITY_STATE_ZIP
-------------------- -------------------- ------------------------
Donald Duck 101 Cool Pond Bedford, OR 12345
Bugs Bunny 540 Carrot Way Atlanta, GA 29292
Elmer Fudd
Taz Devil 999 Wildwoods Nashville, TN 99999
Employee Name Employee Address City State ZIP
------------- ---------------- ----------- ----- ---------
Donald Duck 101 Cool Pond Bedford OR 12345
Bugs Bunny 540 Carrot Way Atlanta GA 29292
Elmer Fudd
Taz Devil 999 Wildwoods Nashville TN 99999
REPORT를 생성할 때에는 종종 CITY와 STATE를 COMMA(,)로 연결하여 출력하곤
한다.
이때 다음과 같이 COLUMN 간에 CONCATENATING를 이용하면 가능하다.
select employee_name,
employee_address,
city || `, ` || state || ` ` || zip city_state_zip
from decode_sample;
위의 문장은 다음과 같은 결과를 갖는다.
EMplOYEE_NAME EMplOYEE_ADDRESS CITY_STATE_ZIP
-------------------- -------------------- ------------------------
Donald Duck 101 Cool Pond Bedford, OR 12345
Bugs Bunny 540 Carrot Way Atlanta, GA 29292
Elmer Fudd ,
Taz Devil 999 Wildwoods Nashville, TN 99999
위와 같은 경우에서 주소의 자료가 없는 경우 필요없는 COMMA만 출력되게 된다.
이런 경우에 DECODE문을 이용하여 다음과 같이 처리하면 깔끔한 OUTPUT을
받을 수 있게 된다.
select employee_name,
employee_address,
city || decode(`, ` || state,`, `,``,`, ` || state) || ` `
|| zip city_state_zip
from decode_sample;
EMplOYEE_NAME EMplOYEE_ADDRESS CITY_STATE_ZIP
-------------------- -------------------- ------------------------
Donald Duck 101 Cool Pond Bedford, OR 12345
Bugs Bunny 540 Carrot Way Atlanta, GA 29292
Elmer Fudd
Taz Devil 999 Wildwoods Nashville, TN 99999
'프로그래밍 > DB' 카테고리의 다른 글
[펌]SQL*plus FAQ 및 TIPS (0) | 2008.01.09 |
---|---|
[펌]DECODE 이용사례 (4) - BETWEEN OPERATOR (0) | 2008.01.09 |
[펌]DECODE 이용사례 : RANGE에 따른 값으로 DECODE FUNCTION 이용하기 (0) | 2008.01.09 |
[펌]TABLE의 RECORD 건수를 확인하는 방법 (0) | 2008.01.09 |
[펌]DATE의 기간을 계산하는 방법 (0) | 2008.01.09 |