반응형

(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

+ Recent posts