조회 수 9960 추천 수 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
번호 분류 제목 글쓴이 날짜 조회 수
20 질의작성 입력된 년월 또는 두개의 날짜을 이용하여 달력 및 주차 구하기 1 성진 2016.08.10 7432
19 응용개발 CUBRID 와 DBCP의 관계 엄기호 2016.12.14 4585
18 기타 Tomcat's JDBC Pool 사용 시 JNDI DataSource 설정 손승일 2016.12.16 8337
17 기타 JBoss 사용 시 statement pooling 설정 손승일 2016.12.16 4528
16 기타 Oracle import 시 character set 변경관련 김창휘 2016.12.26 10831
15 질의작성 subquery를 이용한 튜닝예제 file 김창휘 2016.12.27 5001
14 질의작성 UPDATE에서 조인을 통해, 결과값 수정하는 방법 박동윤 2016.12.27 9081
13 질의작성 CONNECT BY 절 포함 질의 튜닝 예제 박세훈 2017.02.28 11995
12 운영관리 CUBRID 8.2.2 ~ 8.4.x 버전에서 'ALTER SERIAL ... CACHE <cached_num> / NOCACHE' ERROR 해결 방법 주영진 2017.03.08 3811
11 질의작성 loose index scan을 활용한 효과적인 쿼리 튜닝 방안 박세훈 2017.06.01 4268
10 질의작성 테이블 명세서 쿼리 1 성진 2017.08.04 5219
9 운영관리 윈도우 OS에서 java sp 사용 시 Java VM is not running 해결 방법 정훈 2017.09.04 4137
8 질의작성 JAVA_SP를 이용해서 정규표현식을 이용해서 치환을 하자. file 성진 2017.10.10 3100
7 응용개발 CUBRID PHP 드라이버 빌드와 연동방법 정만영 2018.03.07 5592
6 질의작성 입력된 날자를 이용하여 해당 주차의 모든 날자 구하기 성진 2018.04.10 2821
» 질의작성 여러개의 컬럼을 하나로 묶어주는 함수 CONCAT_WS 사용방법 엄기호 2019.01.29 9960
4 운영관리 CUBRID 브로커와 시스템 메모리 정만영 2019.03.12 4666
3 질의작성 VALUES 절 활용하기 황영진 2020.05.13 2718
2 질의작성 synonym에 대하여 김민종 2023.09.07 2114
1 운영관리 Windows 11에서 CUBRID 서비스가 시스템 재부팅 시 자동 시작 정만영 2024.11.15 1443
Board Pagination Prev 1 ... 5 6 7 8 9 10 11 12 13 14 Next
/ 14

Contact Cubrid

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

Sketchbook5, 스케치북5

Sketchbook5, 스케치북5

나눔글꼴 설치 안내


이 PC에는 나눔글꼴이 설치되어 있지 않습니다.

이 사이트를 나눔글꼴로 보기 위해서는
나눔글꼴을 설치해야 합니다.

나눔고딕 사이트로 가기

Sketchbook5, 스케치북5

Sketchbook5, 스케치북5