티스토리 뷰

데이터

SQL 기본 함수 설명1

잔잔한 물결처럼 2025. 3. 3. 02:31

SELECT 문

저장되어 있는 데이터를 조회할 때 사용

 

산술 연산자 우선순위

우선순위 연산자 의미
1 () 우선순위 조정
2 * 곱하기
/ 나누기
3 + 더하기
- 빼기
% 나머지

 

SQL문에 사용되는 함수 

문자 함수 설명 사용 결과
CHR(ASCII 코드) ASCII 코드를 인수로 입력했을때 매핑된 문자를 리턴 CHR(65) A
LOWER(문자열) 문자열을 소문자로 변환해주는 함수 LOWER('KIM') kim
UPPER(문자열) 문자열을 대문자로 변환해주는 함수 UPPER('kim') KIM
LTRIM(문자열 [,특정문자]) 특정문자를 따로 명시하지 않은 경우 문자열의 왼쪽 공백을 제거한다.
명시해주었을 경우 문자열을 왼쪽부터 한 글자씩 특정 문자와 비교하여 특정 문자에 포함되어 있으면 제거하고 포함되지 않았을 경우 멈춘다.
SELECT LTRIM('아이유', '아이') FROM DUAL; '유'
RTRIM(문자열 [,특정문자]) 특정문자를 명시하지 않은 경우 문자열의 오른쪽 공백을 제거한다.
명시해주었을 경우 문자열을 왼쪽부터 한 글자씩 특정 문자와 비교하여 특정 문자에 포함되어 있으면 제거하고 포함되지 않았을 경우 멈춘다
SELECT('아이유', '이유') FROM DUAL; '아'
TRIM([위치][특정문자][FROM] 문자열) 옵션이 하나도 없을 경우 문자열의 왼쪽과 오른쪽 공백을 제거한다.
그렇지 않을 경우 문자열을 위치로 지정된곳부터 특정 문자와 비교하여 같으면 제거한다.
TRIM(LEADING '블' FROM '블랙핑크') '랙핑크'
SUBSTR(문자열, 시작점 [,길이]) 문자열의 원하는 부문만 잘라서 변환한다 길이를 명시하지 않으면 문자열의 시작점부터 끝까지 반환한다.
SELECT SUBSTR('우유빛깔 아이유', 6, 3); 아이유
LENGTH(문자열) 문자열의 길이를 반환해주는 함수이다
SELECT LENGTH('아이유') FROM DUAL; 3

 

REPLACE(문자열, 변경전 문자열, [,변경후 문자열]) 문자열에서 변경 전 문자열을 찾아 변경 후 문자열로 바꿔주는 함수이다. 변경 후 문자열을 명시해 주지 않으면 해당 문자를 제거한다
SELECT REPLACE('우유빛깔 아이유', '우유빛깔', '우주최강') FROM DUAL;
'우주최강 아이유'

 

LPAD(문자열, 길이, 문자) 문자열이 설정한 길이가 될 때까지 왼쪽을 특정 문자로 채우는 함수이다.
LAPD('아이유', 10, 'V') FROM DUAL;
'VVVVVVV아이유'

 

숫자함수

ABS(수) 수의 절대값을 반환해주는 함수이다.
ABS(-10)
10

 

SIGN(수) 수의 부호를 반환해주는 함수이다. 양수면 1, 음수면 -1을 반환한다
SIGN(-10)
-1

 

ROUND(수, [,자릿수]) 수를 지정된 자릿수까지 반올림하여 변환해준다.
ROUND(189.23, 1) FROM DUAL;
189.2
ROUND(189.23, -1) FROM DAUL;
190

 

TRUNC(수, [,자릿수]) 수를 지정된 소수점까지 버림한다.
SELECT TRUNC(54.29, 1) FROM DUAL; 54
SELECT TRUNC(54.29, -2) FROM DUAL; 50

 

CEIL(수) 소수점 이하의 수를 올림한 정수를 반환한다
 SELECT CEIL(72.86) FROM DUAL 73
SELECT CEIL(-33.4) -33

 

FLOOR(수) 소수점 이하의 수를 버림한 정수를 반환한다
SELECT FLOOR(22.3) FROM DUAL; 22
SELECT (-22.3) FROM DUAL; -23

 

MOD(수1, 수2) 수1을 수2로 나눈 나머지를 반환한다
SELECT MOD(15, 7) FROM DUAL; 1
SELECT MOD(-19, -3) FROM DUAL -1

 

날짜 함수

SYSDATE 현재의 연, 월, 일, 시, 분, 초를 반환한다
SELECT SYSDATE FROM DAUL;
2025-03-03-02:19:02

 

EXTRACT(특정 단위 FROM 날짜 데이터) 날짜 데이터에서 특정단위 만을 출력해서 반환해주는 함수
SELECT
EXTRACT(YEAR FROM SYSDATE)
FROM DUAL
2025

 

형변환 함수

SQL 에서 변환에는 명시적 변환과 암시적 변환이 있다.

형변환
명시적 변환 개발자가 함수를 이용에 직접 변환한 경우
암시적 변환 프로그램이 연산도중에 스스로 변환한 경우

 

TO_NUMBER(문자열) 문자열을 숫자형으로 면환해주는 함수
TO_NUMBER('1234') 1234

 

TO_CHAR(수 or 날짜) 수나 날짜형의 데이터를 포맷 형식의 문자형으로 변환해주는 함수
TO_CHAR(1234) '1234'

 

TO_DATE(문자열, 포맷) 포맷 형식의 문자형의 데이터를 날짜형으로 변환해주는 함수
TO_DATE('20250303', 'YYYYMMDD') 2025-03-03

 

포맷 표현 의미 포맷표현 의미
YYYY HH 시(12)
MM HH24 시(24)
DD MI
    SS

 

NULL 관련 함수

NVL(인수1, 인수2) 인수 1의 값이 NULL 일때 인수 2를 반환하고 아닐때 인수 1을 반환
SELECT NVL(NULL, 1) FROM DUAL; 1
SELECT NVL(1, 2) FROM DUAL; 1

 

NULLIF(인수1, 인수2) 인수1과 인수2가 같으면 NULL을 반환하고 같지 않으면 1을 반환
SELECT NULLIF(1, 1) FROM DUAL; NULL
SELECT NULLIF(1, 2) FROM DUAL; 1

 

COALESCE(인수1, 인수2, 인수3) NULL 이 아닌 최초의 인수를 반환한다.
SELECT COALESCE(NULL, NULL, 3) FROM DUAL; 3
SELECT COALESCE(NULL, 2, 3) FROM DUAL; 2

 

NVL2(인수1, 인수2, 인수3) 인수1이 NULL 이 아닌 경우 인수2를 반환하고 NULL 이면 인수 3을 반환한다.
SELECT NVL2(1, 2, 3) FROM DUAL; 2
SELECT NVL2(NULL, 2, 3) FROM DUAL; 3

 

case 함수 사용방법

 

CASE 함수 사용법
CASE WHEN MENU='1' THEN 'PIZZA'
           WHEN MENU='2' THEN 'CHICKEN'
           WHEN MENU='3' THEN 'HAMBURGER'
           [ELSE 'BEER']
END
CASE MENE
           WHEN '1' THEN 'PIZZA'
           WHEN '2' THEN 'CHICKEN'
           WHEN '3' THEN 'HAMBURGER'
           [ELSE 'BEER']
END
DECODE (MENU, '1', 'PIZZA', '2', 'CHICKEN', '3', 'HAMBURGER' [,'BEER'])

 

'데이터' 카테고리의 다른 글

SQL 기본 함수 설명 주의사항  (0) 2025.03.04
SQL 기본 함수 설명2  (0) 2025.03.04
트랜잭션과 NULL  (0) 2025.03.03
정규화  (0) 2025.03.03
데이터 모델링  (0) 2025.03.02
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
글 보관함