Background Image
조회 수 7109 추천 수 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 질의작성 입력된 년월 또는 두개의 날짜을 이용하여 달력 및 주차 구하기 1 성진 2016.08.10 5546
18 응용개발 CUBRID 와 DBCP의 관계 엄기호 2016.12.14 2773
17 기타 Tomcat's JDBC Pool 사용 시 JNDI DataSource 설정 손승일 2016.12.16 6438
16 기타 JBoss 사용 시 statement pooling 설정 손승일 2016.12.16 2903
15 기타 Oracle import 시 character set 변경관련 김창휘 2016.12.26 8609
14 질의작성 subquery를 이용한 튜닝예제 file 김창휘 2016.12.27 3306
13 질의작성 UPDATE에서 조인을 통해, 결과값 수정하는 방법 박동윤 2016.12.27 7140
12 질의작성 CONNECT BY 절 포함 질의 튜닝 예제 박세훈 2017.02.28 9695
11 운영관리 CUBRID 8.2.2 ~ 8.4.x 버전에서 'ALTER SERIAL ... CACHE <cached_num> / NOCACHE' ERROR 해결 방법 주영진 2017.03.08 2146
10 질의작성 loose index scan을 활용한 효과적인 쿼리 튜닝 방안 박세훈 2017.06.01 2382
9 질의작성 테이블 명세서 쿼리 1 성진 2017.08.04 3139
8 운영관리 윈도우 OS에서 java sp 사용 시 Java VM is not running 해결 방법 정훈 2017.09.04 2204
7 질의작성 JAVA_SP를 이용해서 정규표현식을 이용해서 치환을 하자. file 성진 2017.10.10 1304
6 응용개발 CUBRID PHP 드라이버 빌드와 연동방법 정만영 2018.03.07 3741
5 질의작성 입력된 날자를 이용하여 해당 주차의 모든 날자 구하기 성진 2018.04.10 1089
» 질의작성 여러개의 컬럼을 하나로 묶어주는 함수 CONCAT_WS 사용방법 엄기호 2019.01.29 7109
3 운영관리 CUBRID 브로커와 시스템 메모리 정만영 2019.03.12 2315
2 질의작성 VALUES 절 활용하기 황영진 2020.05.13 795
1 질의작성 synonym에 대하여 김민종 2023.09.07 231
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