반응형
종류 | 내용 | 함수의 예 |
문자형 함수 | 문자를 입력하면 문자나 숫자 값을 반환한다. | LOWER, UPPER, SUBSTR/SUBSTRING, LENGTH/LEN, LTRIM, RTRIM, TRIM, ASCII |
숫자형 함수 | 숫자를 입력하면 숫자 값을 반환한다. | ABS,MOD, ROUND, TRUNC, SIGN, CHR/CHAR, CEIL/CEILING, FLOOR, EXP, LOG, LN, POWER, SIN, COS, TAN |
날짜형 함수 | DATE 타입의 값을 연산한다. | SYSDATE/GETDATE, EXTRACT/DATEPART, TO_NUMBER(TO_CHAR(d, 'YYYY'|'MM'|'DD')) / YEAR|MONTH|DAY |
변환형 함수 | 문자, 숫자, 날짜형 값의 데이터 타입을 변환한다. | TO_NUMBER, TO_CHAR, TO_DATE / CAST, CONVERT |
NULL 관련 함수 | NULL을 처리하기 위한 함수 | NVL / ISNULL, NULLIF, COALESCE |
'/'가 있는 경우 Oracle / SQL Server 함수 |
문자형 함수
문자형 함수 | 함수 설명 |
LOWER(문자열) | 문자열의 알파벳 문자를 소문자로 바꾸어준다. |
UPPER(문자열) | 문자열의 알파벳 문자를 대문자로 바꾸어 준다. |
ASCII(문자) | 문자나 숫자를 ASCII 코드 번호로 바꾸어 준다. |
CHR/CHAR (ASCII번호) |
ASCII 코드 번호를 문자나 숫자로 바꾸어 준다. |
CONCAT (문자열1, 문자열2) |
Oracle, My SQL에서 유효한 함수이며 문자열1과 문자열2를 연결한다. 합성연산자 '| |'(Oracle)이나 '+'(SQL Server)와 동일하다. |
SUBSTR/SUBSTRING (문자열, m[, n ]) | 문자열 중 m위치에서 n개의 문자 길이에 해당하는 문자를 돌려준다. n이 생략되면 마지막 문자까지이다. |
LENGTH/LEN (문자열) |
문자열의 개수를 숫자값으로 돌려준다. |
LTRIM (문자열[, 지정문자]) |
문자열의 첫 문자부터 확인해서 지정 문자가 나타나면 해당 문자를 제거한다. (지정문자가 생략되면 공백 값이 디폴트) SQLServer에서는 LTRIM 함수에 지정문자를 사용할 수 없다. 즉, 공백만 제거할 수 있다. |
RTRIM (문자열[, 지정문자]) |
문자열의 마지막 문자부터 확인해서 지정 문자가 나타나면 해당 문자를 제거한다. (지정문자가 생략되면 공백 값이 디폴트) SQLServer에서는 RTRIM 함수에 지정문자를 사용할 수 없다. 즉, 공백만 제거할 수 있다. |
TRIM ([leading|trailing|both] 지정문자 FROM 문자열) |
문자열에서 머리말, 꼬리말, 또는 양쪽에 있는 지정 문자를 제거한다. (leading|trailing|both가 생략되면 both가 디폴트) SQL Server에서는 TRIM 함수에 지정문자를 사용할 수 없다. 즉, 공백만 제거할 수 있다. |
숫자형 함수
숫자형 함수 | 함수 설명 |
ABS(숫자) | 숫자의 절대값을 돌려준다. |
SIGN(숫자) | 숫자가 양수인지, 음수인지 0인지를 구별한다. |
MOD(숫자1, 숫자2) | 숫자1을 숫자2로 나누어 나머지 값을 리턴한다. MOD 함수는 % 연산자로 대체 가능 |
CEIL/CEILING(숫자) | 숫자보다 크거나 같은 최소 정수를 리턴한다. (올림하여 정수로 리턴) |
FLOOR(숫자) | 숫자보다 작거나 같은 최소 정수를 리턴한다. (내림하여 정수로 리턴) |
ROUND(숫자 [, m]) | 숫자를 소수점 m자리까지 반올림하여 리턴. m의 디폴트는 0 |
TRUNC(숫자 [, m]) | 숫자를 소수점 m자리까지 버림하여 리턴. m의 디폴트는 0 SQL Server에서는 존재하지 않음 |
SIN, COS, TAN.. | 숫자의 삼각함수 값을 리턴한다. |
EXP(),POWER(),SQRT(),LOG(),LN() | 숫자의 지수, 거듭제곱, 제곱근, 자연로그 값을 리턴한다. |
날짜형 함수
날짜형 함수 | 함수 설명 |
SYSDATE / GETDATE() |
현재 잘짜와 시각을 출력한다. |
EXTRACT('YEAR'|'MONTH'|'DAY' from d) / DATEPART('YEAR'|'MONTH'|'DAY',d) |
날짜 데이터에서 년/월/일(시간/분/초) 데이터를 출력할 수 있다. |
TO_NUMBER(TO_CHAR(d,'YYYY')) / YEAR(d), TO_NUMBER(TO_CHAR(d,'MM')) / MONTH(d), TO_NUMBER(TO_CHAR(d,'DD')) / DAY(d) |
날짜 데이터에서 년/월/일 데이터를 출력할 수 있다. Oracle EXTRACT YEAR/MONTH/DAY 옵션이나 SQL Server DEPART YEAR/MONTH/DAY 옵션과 같은 기능이다. |
변환형 함수
변환형 함수 - ORACLE | 함수 설명 |
TO_NUMBER(문자열) | alphanumeric 문자열을 숫자로 변환한다. |
TO_CHAR(숫자|날짜[, FORMAT]) | 숫자나 날짜를 주어진 FORMAT의 문자열 타입으로 변환한다. |
TO_DATE(문자열 [,FORMAT]) | 문자열을 주어진 FORMAT의 날짜 타입으로 변환한다. |
변환형 함수 - SQL Server | 함수 설명 |
CAST (expression AS data_type [(length)] | expression을 목표 데이터 유형으로 변환한다. |
CONVERT (data_type [(length)], expression [,style]) | expression을 목표 데이터 유형으로 변환한다. |
NULL 관련 함수
일반형 함수 | 함수 설명 |
NVL(표현식1, 표현식2) / ISNULL(표현식1, 표현식2) |
표현식1의 결과값이 NULL이면 표현식 2의 값을 출력한다. 단. 표현식1과 표현식2의 결과 데이터 타입이 같아야 한다. |
NULLIF(표현식1, 표현식2) | 표현식1이 표현식2와 같으면 NULL, 같지 않으면 표현식1을 리턴한다. |
COALESCE(표현식1, 표현식2,....) | 임의의 기수 표현식에서 NULL이 아닌 최초의 표현식을 나타낸다. 모든 표현식이 NULL이라면 NULL을 리턴한다. |
반응형
'database > sql' 카테고리의 다른 글
[SQLD] SQLD 합격 후기 및 공부 방법 (2) | 2022.04.04 |
---|---|
SQL이란? SQL의 역사, 특징, RDBMS의 종류 (1) | 2022.03.26 |
[SQL] SQL 에서 BETWEEN a AND b / NOT BETWEEN a AND b 사용 (0) | 2022.03.09 |
[sqld] SQL WHERE절에서 사용되는 연산자의 종류 / 연산 우선순위 (0) | 2022.03.09 |
[sqld] DDL / 데이터 정의어 사용방법 / Oracle, SQL Server (0) | 2022.03.04 |