DataBase 4

[SQL] NULL 관련 SQL 함수(NVL, COALESCE, NULLIF)

SQL문에서 NULL과 관련한 함수가 다양한데,각 DB 환경과 상황에 맞춰서 사용하는 것이 중요하다.NULL 관련 함수는 활용도가 높기 때문에,각각의 함수에 대해 특징과 사용 예시를 알아보자. 1) NVL, NVL2, ISNULL, IFNULL1-1) NVL 함수: Oracle에서 사용하는 함수로, 첫 번째 인자가 NULL일 경우 두 번째 인자를 반환함SELECT NVL(COL1, 0) FROM TABLE1;1-2) NVL2 함수: Oracle에서 사용하는 함수로 NVL 함수와 유사하지만, 세 개의 인자를 받을 수 있음첫 번째 인자가 NULL이 아닌 경우 두 번째 인자를 반환하고, NULL인 경우 세 번째 인자를 반환함SELECT NVL2(COL1, COL2, 0) FROM TABLE1;1-3) ISNU..

DataBase/SQL 2025.04.21

[Oracle] 정규식 함수 REGEXP_REPLACE(문자열 치환)

오라클 10g부터 정규식을 사용할 수 있도록 함수가 추가되었다.따라서 기존 REPLACE 함수를 정규식을 활용하여 문자열의 패턴을 찾아 더 간단하게 처리할 수 있게 되었다.정규식을 활용한 REPLACE 함수는 REGEXP_REPLACE() 이고 구문(Syntax)는 아래와 같다.  REGXPP_REPALCE( source_char, patten [, replace_string [, position [, occurrence [, match_param] ] ] ..

DataBase/Oracle 2025.04.02

[SQL] 쿼리 결과가 없는 경우 0으로 반환하려면?

쿼리 조건에 맞는 결과가 없는 경우에도, 값을 리턴받고 싶은 경우가 있다.이 때는 MAX 함수를 사용하여 0으로 리턴받도록 할 수 있다. 1) COALESCE 함수로만 NULL 처리한 경우WITH DATA_TABLE AS (SELECT '1' AS A FROM DUALUNION ALLSELECT '2' AS A FROM DUAL)SELECT COALESCE(A, '0') AS RESULTFROM DATA_TABLEWHERE A = '3'; 결과값위 예시 쿼리에 대한 결과가 없기 때문에, 이 결과값을 리턴받게 되는 경우 NULL이 될 것이다. 2) MAX 함수로 감싸서 NULL 처리한 경우WITH DATA_TABLE AS ( SELECT '1' AS A FROM DUAL UNION ALL ..

DataBase/SQL 2025.03.14

[SQL] ORDER BY에 조건을 주려면?

데이터 조회 결과값을 리스트로 화면에 보여주도록 개발을 하던 와중에쿼리문의 결과 행들 중 특정 행만 최하단에 오게 하도록 처리하고 싶었다.쿼리 결과값 중 특정 값을 맨 아래에 오게 하기 위해 ORDER BY에 조건을 주는 방법을 찾아보았다. CASE WHEN 1 OR 0 조건을 통해 우선순위를 줄 수 있다. 예시  ▶ A=’1000’인 데이터를 가장 뒤에 나오도록 처리함WITH DATA_TABLE AS ( SELECT '1000' AS A FROM DUAL UNION ALL SELECT '2000' AS A FROM DUAL UNION ALL SELECT '3000' AS A FROM DUAL)SELECT *FROM DATA_TABLEORDER BY (CASE WHEN A = ..

DataBase/SQL 2025.03.13