템플릿
SELECT NVL(SUBSTR(MAX(컬럼),1,2)
|| TRIM(TO_CHAR(SUBSTR(MAX(컬럼),3) + 1,'000')),'컬럼_시작')
FROM 테이블명
예시
SELECT NVL(SUBSTR(MAX(CU_CODE),1,2)
|| TRIM(TO_CHAR(SUBSTR(MAX(CU_CODE),3) + 1,'000')),'CU001')
FROM CONT_US
;
Max(컬럼) ⇒ 최대값 찾기
SELECT MAX(CU_CODE)
FROM CONT_US
;
SUBSTR('문자열',시작위치,길이) 문자열 자르기
SELECT SUBSTR(MAX(CU_CODE),1,2)
FROM CONT_US
;
SELECT SUBSTR(MAX(CU_CODE),3)
FROM CONT_US
;
문자+ 숫자 = 숫자 변환
SELECT SUBSTR(MAX(CU_CODE),3)+1
FROM CONT_US
;
TO_CHAR() ⇒ 숫자, 날짜등의 값을 문자열 변환
select to_char(데이터, '출력형식')
from dual
;
SELECT TO_CHAR(SUBSTR(MAX(CU_CODE),3)+1,'000')
FROM CONT_US
;
⇒ 마지막으로 TO_CHAR 함수는 결과를 주어진 형식('000'과 같이 선행하는 0이 포함된 형식)으로 문자열로 변환
TRIM("문자열") ⇒ 문자열의 양쪽 공백을 제거
SELECT TRIM(TO_CHAR(SUBSTR(MAX(CU_CODE),3) + 1,'000'))
FROM CONT_US
;
NVL("값","지정값") ⇒ 값이 null인 경우 지정값 출력, null이 아니면 원래 값 출력
SELECT NVL(SUBSTR(MAX(CU_CODE),1,2)
|| TRIM(TO_CHAR(SUBSTR(MAX(CU_CODE),3) + 1,'000')),'CU001')
FROM CONT_US
;
⇒ 값이 null 이면 cu001 출력, null 아니면 원래 값 출력
'DB > SQL' 카테고리의 다른 글
여러 파일 중 첫번째 결과값만 가져오는 쿼리문 (상관관계 서브 쿼리) (0) | 2024.05.11 |
---|---|
PL/SQL 이용한 더미데이터 만들기 (0) | 2024.04.27 |
기존 데이터 타입 변경하기 (0) | 2024.04.23 |
한글 초중종성 검색방법(자음만 하는것도 가능) (0) | 2024.01.12 |
TO_CHAR(숫자 혹은 날짜, FORMAT) (0) | 2024.01.09 |