Background Image
조회 수 7226 추천 수 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'  

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


  1. synonym에 대하여

  2. VALUES 절 활용하기

  3. 여러개의 컬럼을 하나로 묶어주는 함수 CONCAT_WS 사용방법

  4. 입력된 날자를 이용하여 해당 주차의 모든 날자 구하기

  5. JAVA_SP를 이용해서 정규표현식을 이용해서 치환을 하자.

  6. 테이블 명세서 쿼리

  7. loose index scan을 활용한 효과적인 쿼리 튜닝 방안

  8. CONNECT BY 절 포함 질의 튜닝 예제

  9. UPDATE에서 조인을 통해, 결과값 수정하는 방법

  10. subquery를 이용한 튜닝예제

  11. 입력된 년월 또는 두개의 날짜을 이용하여 달력 및 주차 구하기

  12. INSTR함수 사용하기

  13. group_concat(문자열 그룹처리) 함수 사용하기

  14. 두 datetime 연산결과를 "?일 ?시:?분:?초"로 표시하기

  15. ORACLE 테이블 및 컬럼 COMMENT 일광등록 스크립트

  16. 스키마 및 인덱스 선언에 따른 최대 용량 산정을 위한 ROW SIZE 확인

  17. Oracle UTL_ENCODE.TEXT_ENCODE를 CUBRID로 변환하기

  18. 테이블 리스트 취합 SQL

  19. 테이블 컬럼 변경 및 추가

  20. FOR UPDATE

Board Pagination Prev 1 2 3 4 Next
/ 4

Contact Cubrid

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