sql 4

[Oracle] 특정 문자로 자릿수 채우기 LPAD, RPAD 함수

오라클에서 왼쪽, 오른쪽에 특정 문자를 원하는 문자열 길이만큼 채울 수 있는 LPAD, RPAD 함수에 대해 알아보자.1) LPAD: 지정한 길이만큼 왼쪽부터 채움문자로 채운다.채움문자를 지정하지 않으면 공백으로 해당 길이만큼 문자를 채운다.문법 LPAD("값", "총 문자길이", "채움문자") 2) RPAD: 지정한 길이만큼 오른쪽부터 채움문자로 채운다.채움문자를 지정하지 않으면 공백으로 해당 길이만큼 문자를 채운다.문법RPAD("값", "총 문자길이", "채움문자") 3) 예시WITH EMP AS (SELECT '1234' AS EMP_NO, 'HARRY' AS EMP_NM, '1000' AS DEPT_NO, '경영지원실' AS DEPT_NMFROM DUAL)SELEC..

DataBase/Oracle 2025.06.03

[Oracle] 오라클 소수점 존재 여부 체크 및 소수점 이하 값 구하기

오라클에서 수치값에 소수점이 존재하는지 체크하거나, 혹은 소수점 이하의 값만을 활용하고 싶은 경우가 있다.이 경우를 모두 만족하는 함수는 없지만, 연산을 통해 값을 도출해낼 수 있다.각각의 방법에 대하여 알아보자. 1) 소수점 존재 여부 체크1-1) TRUNC() 함수 활용: TRUNC 함수를 숫자에 사용하면 소수점 이하 값을 제거할 수 있다.WITH NUM_TABLE AS ( SELECT 1.25 AS NUM1, 2 AS NUM2, -5.5 AS NUM3 FROM DUAL)SELECT CASE WHEN NUM1 TRUNC(NUM1) THEN 'Y' ELSE 'N' END AS NUM1_RESULT, CASE WHEN NUM2 TRUNC(NUM..

DataBase/Oracle 2025.06.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