본문 바로가기
SQL

SQL 기본 함수

by 피갓자 2025. 3. 5.

SQL 기본 함수
SQL 기본 함수

함수

문자 함수

CHR(ASCII 코드) : 총 128개의 문자를 숫자로 표현할 수 있도록 정의해 놓은 코드. SQL Server(MSSQL)의 경우 CHAR(ASCII 코드)

LOWER(문자열) : 문자열을 소문자로 변환

UPPER(문자열) : 문자열을 대문자로 변환

LTRIM(문자열 [,특정 문자]) : 문자열의 왼쪽 공백을 제거. [ ]는 옵션으로 특정 문자를 명시해 주었을 경우 문자열을 왼쪽부터 한 글자씩 특정 문자와 비교하여 특정 문자에 포함되어 있으면 제거하고 포함되지 않았으면 멈춤. SQL Server(MSSQL)의 경우 공백 제거만 가능

RTRIM(문자열 [,특정 문자]) : 문자열의 오른쪽 공백을 제거. [ ]는 옵션으로 특정 문자를 명시해 주었을 경우 문자열을 오른쪽부터 한 글자씩 특정 문자와 비교하여 특정 문자에 포함되어 있으면 제거하고 포함되지 않았으면 멈춤. SQL Server(MSSQL)의 경우 공백 제거만 가능

TRIM([위치] [특정 문자] [FROM] 문자열) : 문자열의 양쪽 공백을 제거. 옵션이 있을 때 문자열을 위치(LEADING or TRAILING or BOTH)로 지정된 곳부터 한 글자씩 특정 문자와 비교하여 같으면 제거하고, 같지 않으면 멈춤. LTRIM, RTRIM과는 달리 특정 문자는 한 글자만 지정할 수 있음. SQL Server(MSSQL)의 경우 공백 제거만 가능

SUBSTR(문자열, 시작점 [,길이]) : 문자열의 원하는 부분만 잘라서 반환. [ ]는 옵션으로 명시하지 않았을 경우 문자열의 시작점부터 끝까지 반환됨. SQL Server(MSSQL)의 경우 SUBSTRING(문자열)

LENGTH(문자열) : 문자열의 길이를 반환. SQL Server(MSSQL)의 경우 LEN(문자열)

REPLACE(문자열, 변경 전 문자열 [,변경 후 문자열] : 문자열에서 변경 전 문자열을 찾아 변경 후 문자열로 반환. [ ]는 옵션으로 명시하지 않았을 경우 문자열에서 변경 전 문자열을 제거

숫자 함수

ABS(수) : 수의 절대값을 반환

SIGN(수) : 수의 부호를 반환. 양수이면 1, 음수이면 -1, 0이면 0을 반환

ROUND(수 [,자릿수]) : 수를 지정된 소수점 자릿수까지 반올림하여 반환. [ ]는 옵션으로 명시하지 않았을 경우 기본값은 0이며 반올림 된 정수로 반환하고, 자릿수가 음수일 경우 지정된 정수부를 반올림하여 반환

TRUNC(수 [,자릿수]) : 수를 지정된 소수점 자릿수까지 버림하여 반환. [ ]는 옵션으로 명시하지 않았을 경우 기본값은 0이며 버림 된 정수로 반환하고, 자릿수가 음수일 경우 지정된 정수부에서 버림하여 반환

CEIL(수) : 소수점 이하의 수를 올림 한 정수를 반환. SQL Server(MSSQL)의 경우 CEILING(문자열)

FLOOR(수) : 소수점 이하의 수를 버림 한 정수를 반환

MOD(수1, 수2) : 수1을 수2로 나눈 나머지를 반환

날짜 함수

SYSDATE : 현재의 연, 월, 일, 시, 분, 초를 반환(nls_data_format에 따라서 sysdate의 출력 양식은 달라질 수 있음). SQL Server(MSSQL)의 경우 GETDATE( )

EXTRACT(특정 단위 FROM 날짜 데이터) : 날짜 데이터에서 특정 단위(YEAR, MONTH, DAY, HOUR, MINUTE, SECOND)만을 출력해서 반환. SQL Server(MSSQL)의 경우 DATEPART(특정 단위, 날짜 데이터)

ADD_MONTHS(날짜 데이터, 특정 개월 수) : 날짜 데이터에서 특정 개월 수를 더한 날짜를 반환. 날짜의 이전 달이나 다음 달에 기준 날짜의 일자가 존재하지 않으면 해당 월의 마지막 일자가 반환됨. SQL Server(MSSQL)의 경우 DATEADD(MONTH, 특정 개월 수, 날짜 데이터)

변환 함수

명시적 형변환 : 변환 함수를 사용하여 데이터 유형 변환을 명시적으로 나타냄. SQL Server(MSSQL)의 경우 CONVERT나 CAST 함수를 사용

  • TO_NUMBER(문자열) : 문자열을 숫자형으로 변환
  • TO_CHAR(수 or 날짜 [,포맷]) : 수나 날짜형의 데이터를 포맷 형식 문자형으로 변환. [ ]는 옵션으로 명시하지 않았을 경우 해당 데이터의 기본 형식으로 변환
  • TO_DATE(문자열, 포맷) : 포맷 형식 문자형의 데이터를 날짜형으로 변환

암시적 형변환 : 데이터베이스가 내부적으로 알아서 데이터 유형을 변환함

NULL 관련 함수

NVL(인수1, 인수2) : 인수1의 값이 NULL일 경우 인수2를 반환하고 NULL이 아닐 경우 인수1을 반환. SQL Server(MSSQL)의 경우 ISNULL(인수1, 인수2)

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

COALESCE(인수1, 인수2, 인수3, …) : NULL이 아닌 최초의 인수를 반환

CASE

함수와 성격이 같기는 하지만 표현 방식이 함수라기보다는 구문에 가깝다고 할 수 있음. 문장으로는 ‘~이면 ~이고, ~이면 ~이다’ 식으로 표현되는 구문이고 필요에 따라 각 CASE를 여러 개로 늘릴 수도 있음. 같은 기능을 하는 함수로는 Oracle의 DECODE 함수가 있음

'SQL' 카테고리의 다른 글

SQL 활용 서브쿼리와 집합 연산자  (0) 2025.03.07
SQL 기본 SELECT 문 조건 절  (0) 2025.03.06
SQL 기본 RDB와 SELECT 문  (0) 2025.03.04
데이터 모델과 SQL 반정규화  (0) 2025.03.03
데이터 모델과 SQL 정규화  (0) 2025.03.02