< 데이타 검색 >
1. 업소의 정보를 이름과, 상호 및 주소를 가져와야 하는데,
김해시에 한정하고, 단 김해시 장유면은 제외함.
2. 주소는 시,동,리,나머지로 구성되어 있으나, 시내에 있는 업소는 '리'가 null 값으로 가지고 있어
한 컬럼으로 병합시 전체 주소가 null로 설정 됨.
오라클에서는 Decode함수를, MS-SQLServer에서는 if문을 사용했었는데...
MySQL에서는 단순한 기능만 사용했는데....
아래와 같은 문장이 되는군요... ^^; MySQL을 넘 무시했나?
select name,shop_name,
concat (
if(isnull(post_sigu),'',post_sigu),
if(isnull(post_dong),'',concat(' ',post_dong)),
if(isnull(post_lee),'',concat(' ',post_lee)),
if(isnull(post_last),'',concat(' ',post_last)) ) as addr
from tb_re
where post_sigu = '김해시'
and post_dong <> '장유면'
order by name,shop_name,addr ;
- concat : 컬럼 병합을 위해 필요한 함수.
- if (조건,참일때 리턴값,거짓일때 리턴값)
이름,상호,주소를 엘셀로 저장하여 편집하기 위해서, DB에는 시,동,리,나머지주소 로 구성되어 있어, 컬럼 병합을 하였습니다. 병함을 위한 함수 concat()
단, 리 또는 나머지 주소의 값이 null이기 때문에 병합된 결과의 전체 값이 null로 설정되는 것을
막기 위해 컬럼 값이 널이면 '' 0바이트 문자열로 치환하기 위해 it문 사용.
다시 스페이스 없이 병합되는 것을 막기 위해 ' ' 여백한칸을 더해서 리턴함.
데이타 편집을 위해 현제의 값을 가져오는 중 오랜만에 SQL문 안에서 함수를 사용해 봤습니다.
그래서, 혹시나 여기 방문하는 분들에게 도움이 될까? 싶어서 올립니다.
프로그래머가 되려는 분들에게 '이런일을 한다'는 샘플 제시 ^^;
DBMS(오라클,MS-SQLServer,MySQL)이 무엇인지, 어떤기능을 하는지,어떤제품이 있는지,
SQL은 뭔지? 무엇을 하기 위한 것인지, SQL문장은 어떻게 사용하는지,
표준은 무엇이고, DBMS제품별로 표준은 같지만, 제공하는 기능, 함수는 다르다는 것.
그리고 프로그램 개발할때 SQL문은 어떻게 적용 되는지?
우리끼리 하는 농담같은 진담.
'잘 만든 SQL문 하나, 코딩 1,000라인 안부럽다.'는 말이 있죠... ^^;
그만큼 정보를 다룰때 SQL문장이 코딩에 미치는 영향이 지대 합니다.
^^: 그럼.. 즐 인터넷 하세요... ^^;
[출처] 메롱
"쇼핑몰·홈페이지·오픈마켓
블로그·페이스북·이메일 등의 각종 마케팅 글쓰기, 각종 광고, 영업, 판매, 제안서, 전단지 반응율 3배×10배 이상 높이는 마법의 8단계 공식" |
☞자세히보기 |
|
|