Background Image
조회 수 7210 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

여러개의 컬럼을 하나의 컬럼으로 묶을때 "||" 사용하여 하나로 묶어서 수행합니다.

그러나 이렇게 했을 때 컬럼에 들어가 있는 값이 NULL인 경우 결과 값이 NULL로 출력되는 현상이 있습니다.

왜냐하면 모든 값이 NULL로 연산 처리 시 NULL로 출력됩니다.

그래서 NVL함수를 사용하여 결과 출력을 합니다.

또한 CUBRID에서도 NVL함수를 사용할 수도 있고, 다른 함수를 사용할 수 있습니다.

CONCAT_WS함수를 사용하여 처리하는 방법을 알려드리겠습니다.


아래의 4가지 질의문을 보시고, 원하는 질의문을 작성하시면 됩니다.


CREATE TABLE T_TBL( id integer not null primary key

                                    , age integer 

                                    , name varchar(30)

                                   );


INSERT INTO T_TBL(id, age, name) values(1, 10, '홍길동'), (2, 15, '홍길동2'), (3, 16, NULL);


1) NVL함수 사용 질의문

    SELECT id, NVL(age,'') AS age, NVL(name,'') AS name FROM t_tbl;

    === <Result of SELECT Command in Line 1> ===

           id  age                   name               
    ===================================
            1  '10'                  '홍길동'        
            2  '15'                  '홍길동2'       
            3  '16'                  ''                 

     ===================================

2) 컬럼 끼리 묶을때 NVL함수 사용  질의문 ("||")

    SELECT id, NVL(age,'')||'/'||NVL(name,'') AS age_name FROM t_tbl;

    === <Result of SELECT Command in Line 1> ===

           id  age_name           
    ===================================
            1  '10/홍길동'     
            2  '15/홍길동2'    
            3  '16/'              

    ===================================


3) 컬럼 끼리 묶을때 CONCAT_WS함수 사용 질의문

    SELECT id, CONCAT_WS('', age, name) AS age_name FROM t_tbl;

    === <Result of SELECT Command in Line 1> ===

           id  age_name           
    ===================================
            1  '10홍길동'      
            2  '15홍길동2'     
            3  '16'     

    ===================================
 

4) 컬럼 끼리 묶을때 CONCAT_WS함수 사용 질의문

     -> 나이와 이름 사이에 "/" 넣고 싶을 때

    SELECT id, CONCAT_WS('/', age, name) AS age_name FROM t_tbl;

    === <Result of SELECT Command in Line 1> ===

           id  age_name           
    ===================================
            1  '10/홍길동'     
            2  '15/홍길동2'    
            3  '16'  

    ===================================


List of Articles
번호 분류 제목 글쓴이 날짜 조회 수
19 응용개발 Windows에서 32bit 버전의 PHP 설치 후 CUBRID와 연동 실패 시 해결 방법 file 진우진 2016.03.28 4523
18 운영관리 Invalid XASL tree node content 에러 손승일 2016.04.26 4477
17 운영관리 cubrid plandump ( plan cache정보확인) file 주현 2015.12.29 4300
16 운영관리 큐브리드 마스터 소켓 디렉토리 변경방법 정만영 2016.07.05 4218
15 질의작성 스키마 및 인덱스 선언에 따른 최대 용량 산정을 위한 ROW SIZE 확인 성진 2016.03.21 4175
14 질의작성 Cubrid는 어떤 쿼리를 동일한 쿼리로 판단할까? 이상신 2015.12.30 4010
13 응용개발 CUBRID PHP 드라이버 빌드와 연동방법 정만영 2018.03.07 3761
12 질의작성 subquery를 이용한 튜닝예제 file 김창휘 2016.12.27 3322
11 질의작성 테이블 명세서 쿼리 1 성진 2017.08.04 3165
10 기타 JBoss 사용 시 statement pooling 설정 손승일 2016.12.16 2923
9 응용개발 CUBRID 와 DBCP의 관계 엄기호 2016.12.14 2792
8 질의작성 loose index scan을 활용한 효과적인 쿼리 튜닝 방안 박세훈 2017.06.01 2409
7 운영관리 CUBRID 브로커와 시스템 메모리 정만영 2019.03.12 2365
6 운영관리 윈도우 OS에서 java sp 사용 시 Java VM is not running 해결 방법 정훈 2017.09.04 2226
5 운영관리 CUBRID 8.2.2 ~ 8.4.x 버전에서 'ALTER SERIAL ... CACHE <cached_num> / NOCACHE' ERROR 해결 방법 주영진 2017.03.08 2161
4 질의작성 JAVA_SP를 이용해서 정규표현식을 이용해서 치환을 하자. file 성진 2017.10.10 1323
3 질의작성 입력된 날자를 이용하여 해당 주차의 모든 날자 구하기 성진 2018.04.10 1108
2 질의작성 VALUES 절 활용하기 황영진 2020.05.13 814
1 질의작성 synonym에 대하여 김민종 2023.09.07 255
Board Pagination Prev 1 ... 5 6 7 8 9 10 11 12 13 14 Next
/ 14

Contact Cubrid

대표전화 070-4077-2110 / 기술문의 070-4077-2113 / 영업문의 070-4077-2112 / Email. contact_at_cubrid.com
Contact Sales