반응형
(1) 문자함수
1. CHR(ASCII 코드)
ASCII 코드를 인수로 입력했을 때 매핑되는 문자가 무엇인지를 알려주는 함수
SQL SERVER 인경우 CHAR(ASCII 코드)
SELECT CHR(65) FROM DUAL;
2. LOWER(문자열)
문자열을 소문자로 변환해주는 함수이다.
SELECT LOWER('JENNIE') FROM DUAL;
3. UPPER(문자열)
문자열을 대문자로 변환해주는 함수이다.
SELECT UPPER('jennie') FROM DUAL;
4. LTRIM(문자열, [특정문자]) *[]은 옵션임
특정문자를 따로 명시하지 않으면 문자열의 왼쪽 공백을 제거
명시해주었을 경우 문자열을 왼쪽부터 한 글자씩 특정문자와 비교하여 특정 문자에 포함되어 있으면 제거,
포함되지 않았으면 멈춘다.
SQL SERVER의 경우 공백 제거만 가능하다.
SELECT LTRIM(' JENNIE') FROM DUAL;
SELECT LTRIM('블랙핑크', '블랙') FROM DUAL;
5. RTRIM(문자열, [특정문자]) *[]은 옵션
특정문자를 바로 명시해주지 않으면 문자열의 오른쪽 공백을 제거
명시해주었을 경우 문자열을 오른쪽부터 한 글자씩 특정문자와 비교하여 특정 문자에 포함되어 있으면 제거하고
포함되지 않으면 멈춘다.
SQL SERVER의 경우 공백 제거만 가능하다.
SELECT RTRIM('JENNIE ') FROM DUAL;
SELECT RTRIM('블랙핑크', '핑크') FROM DUAL;
6. TRIM([위치] [특정문자] [FROM] 문자열) *[]은 옵션
-- 옵션이 하나도 없을 경우 문자열의 왼쪽과 오른쪽 공백을 제거하고
-- 그렇지 않을 경우 문자열을 위치(LEANDING OR TRAILING OR BOTH)로 지정된 곳 부터
-- 한 글자씩 특정문자와 비교하여 같으면 제거, 같지않으면 멈춘다.
-- LTRIM, RTRIM과는 달리 특정 문자는 한 글자만 지정할 수 있다.
-- SQL SERVER의 경우 공백 제거만 가능하다.
SELECT TRIM(' JENNIE ') FROM DUAL;
SELECT TRIM(LEADING '블' FROM '블랙핑크') FROM DUAL;
SELECT TRIM(TRAILING '크' FROM '블랙핑크') FROM DUAL;
7. SUBSTR(문자열, 시작점[길이]) *[]은 옵션
-- 문자열의 원하는 부분만 잘라서 반환해주는 함수
-- 길이를 명시하지 않았을 경우 문자열의 시작점부터 문자열의 끝까지 반환된다.
-- SQL SERVER의 경우 SUBSTRING(문자열)
SELECT SUBSTR('블랙핑크제니', 3, 2) FROM DUAL;
SELECT SUBSTR('블랙핑크제니', 3, 4) FROM DUAL;
8. LENGTH(문자열)
-- 문자열의 길이를 반환해주는 함수
-- SQL SERVER의 겨웅 LEN(문자열)
SELECT LENGTH('JENNIE') FROM DUAL;
SELECT LENGTH('블랙핑크') FROM DUAL;
9. REPLACE(문자열, 변경 전 문자열, [변경 후 문자열]) *[]은 옵션
-- 문자열에서 변경 전 문자열을 찾아 변경 후 문자열로 바꿔주는 함수이다.
-- 변경 후 문자열을 명시해주지 않으면 문자열에서 변경 전 문자열을 제거한다.
SELECT REPLACE('블랙핑크제니', '제니', '지수') FROM DUAL;
SELECT REPLACE('블랙핑크제니', '블랙') FROM DUAL;
10. LPAD(문자열, 길이, 문자)
-- 문자열이 설정한 길이가 될 때까지 왼쪽을 특정 문자로 채우는 함수
SELECT LPAD('JENNE', 10, 'V') FROM DUAL;
(2) 숫자함수
1. ABS(수)
-- 수의 절댓값을 반환해주는 함수
SELECT ABS(-1) FROM DUAL;
SELECT ABS(2) FROM DUAL;
2. SIGN(수)
-- 수의 부호를 반환해주는 함수이다.
-- 양수이면 1, 음수이면 -1, 0이면 0을 반환
SELECT SIGN(-7) FROM DUAL;
SELECT SIGN(7) FROM DUAL;
SELECT SIGN(0) FROM DUAL;
3. ROUND(수, [자릿수]) *[]은 옵션
-- 수를 지정된 소수점 자릿수까지 반올림하여 반환해주는 함수이다.
-- 자릿수를 명시하지 않았을 경우 기본값은 0
-- 반올림된 정수로 반환하고 자릿수가 음수일 경우 지정된 정수부를 반올림하여 반환한다.
SELECT ROUND(163.76, 1) FROM DUAL;
SELECT ROUND(163.76, -2) FROM DUAL;
4. TRUNC(수, [자릿수]) *[] 은 옵션
-- 수를 지정된 소수점 자릿수까지 버림하여 반환해주는 함수
-- 자릿수를 명시하지 않았을 겨웅 기본값은 0이며 버림된 정수로 반환
-- 자릿수가 음수일 경우 지정된 정수부에서 버림하여 반환
SELECT TRUNC(54.29, 1) FROM DUAL;
SELECT TRUNC(54.29, -1) FROM DUAL;
5. CEIL(수)
-- 소수점 이하의 수를 올림한 정수를 반환해주는 함수
-- SQL SERVER의 경우 CEILING(문자열)
SELECT CEIL(72.86) FROM DUAL;
SELECT CEIL(-33.4) FROM DUAL;
6. FLOOR(수)
-- 소수점 이하의 수를 버림한 정수를 반환해주는 함수
SELECT FLOOR(22.3) FROM DUAL;
SELECT FLOOR(-22.3) FROM DUAL;
7. MOD(수1, 수2)
-- 수1을 수2로 나눈 나머지를 반환하는 함수
-- 단 수2가 0일 때는 수1을 반환함
SELECT MOD(15, 7) FROM DUAL;
SELECT MOD(15, -4) FROM DUAL;
(3) 날짜함수
1. SYSDATE
-- 현재의 연, 월, 일, 시, 분, 초를 반환해주는 함수
--(nls_date_format에 따라서 sysdate의 출력양식은 달라질 수 있음)
-- SQL SERVER의 경우 GETDATE()
SELECT SYSDATE FROM DUAL;
2. EXTRACT(특정 단위 FROM 날짜 데이터)
-- 날짜 데이터에서 특정 단위(YEAR, MONTH, DAT, HOUR, MINUTE, SECOND)
-- 만을 출력해서 반환해주는 함수
-- SQL SERVER의 경우 DATEPART(특정단위, 날짜 데이터)
SELECT EXTRACT(YEAR FROM SYSDATE) AS YEAR,
EXTRACT(MONTH FROM SYSDATE) AS MONTH,
EXTRACT(DAY FROM SYSDATE) AS DAY
FROM DUAL;
3. ADD_MONTHS(날짜 데이터, 특정 개월 수)
-- 날짜 데이터에서 특정 개월 수를 더한 날짜를 반환해주는 함수
-- 날짜의 이전 달이나 다음 달에 기준 날짜의 일자가 존재하지 않으면
-- 해당월의 마지막 일자가 반환된다.
-- SQL SERVER 의 경우 DATEADD(MONTH, 특정 개월 수, 날짜 데이터)
SELECT ADD_MONTHS(TO_DATE('2024-06-28', 'YYYY-MM-DD'), -1) AS PREV_MONTH
,ADD_MONTHS(TO_DATE('2024-06-28', 'YYYY-MM=DD'), 1) AS NEXT_MONTH
FROM DUAL;
반응형
'자격증 > SQLD' 카테고리의 다른 글
📘 SQLD 자격증 준비 — SQL 함수 완전 정복! (0) | 2025.05.06 |
---|---|
SQLD 요약정리 (1) (1) | 2024.07.03 |
[SQL] 변환함수, NULL 관련함수, CASE (0) | 2024.06.28 |
데이터 모델과 SQL (0) | 2023.10.24 |
Part 1) 데이터 모델링의 이해 (1) | 2023.10.23 |