함수
함수
단일 행 함수
- 입력: 출력 = 1:1
- 데이터 변환, 조작용 (SELECT, WHERE, ORDER BY등)
- 함수 중첩 가능
복수 행 함수
- 여러행으로 하나의 결과값 리턴
- 합계, 평균등 (SELECT, HAVING등)
- GROUP BY랑 같이 쓰기도 함
함수 정리
| 함수 | 설명 | Oracle | SQL Server |
|---|
| ABS | 절댓값 반환 | O | O |
| SIGN | 값의 부호 반환 | O | O |
| CEIL / CEILING | 올림 처리 | O | O |
| FLOOR | 내림 처리 | O | O |
| MOD | 나머지 계산 | O | O |
| ROUND | 반올림 처리 | O | O |
| POWER | 거듭제곱 계산 | O | O |
| SQRT | 제곱근 계산 | O | O |
| TRUNC | 소수점 이하 절삭 | O | X |
| 함수 | 설명 | Oracle | SQL Server |
|---|
| LOWER | 소문자로 변환 | O | O |
| UPPER | 대문자로 변환 | O | O |
| LENGTH / LEN | 문자열 길이 반환 | O | O |
| SUBSTR / SUBSTRING | 문자열 일부 추출 | O | O |
| LTRIM | 왼쪽 공백 제거 | O | O |
| RTRIM | 오른쪽 공백 제거 | O | O |
| TRIM | 양쪽 공백 제거 | O | O |
| REPLACE | 문자열 치환 | O | O |
| 함수 | 설명 | Oracle | SQL Server |
|---|
| CONCAT | 문자열 연결 | O | O |
| 문자열 합성 연산 | 문자열 연결 연산자 | ll (버티컬 바(Vertical Bar)) | + |
| ASCII | 문자 → ASCII 코드 | O | O |
| CHR / CHAR | ASCII 코드 → 문자 | O (CHR) | O (CHAR) |
| INSTR | 문자열 위치 검색 | O | X |
| PATINDEX | 패턴 위치 검색 | X | O |
| LPAD | 왼쪽 문자 채우기 | O | X |
| RPAD | 오른쪽 문자 채우기 | O | X |
| TRANSLATE | 문자 단위 치환 | O | X |
| 함수 | 설명 | Oracle | SQL Server |
|---|
| SYSDATE / GETDATE | 현재 날짜 및 시간 | O (SYSDATE) | O (GETDATE) |
| CURRENT_DATE | 현재 날짜 | O | O |
| CURRENT_TIMESTAMP | 현재 날짜 및 시간 | O | O |
| EXTRACT | 날짜 요소 추출 | O | △ (제한적) |
| ADD_MONTHS | 개월 수 더하기 | O | X |
| MONTHS_BETWEEN | 개월 수 차이 | O | X |
| LAST_DAY | 월의 마지막 날짜 | O | X |
| NEXT_DAY | 다음 요일 날짜 | O | X |
| DATEADD | 날짜 계산 | X | O |
| DATEDIFF | 날짜 차이 계산 | X | O |
| EOMONTH | 월의 마지막 날짜 | X | O |
| 함수 | 설명 | Oracle | SQL Server |
|---|
| TO_NUMBER | 문자열 → 숫자 | O | X |
| TO_CHAR | 숫자/날짜 → 문자열 | O | X |
| TO_DATE | 문자열 → 날짜 | O | X |
| CAST | 명시적 타입 변환 | O | O |
| CONVERT | 타입 변환 | △ | O |
| FORMAT | 출력 형식 지정 | X | O |
| 함수 | 설명 | Oracle | SQL Server |
|---|
| COUNT | 행 개수 반환 | O | O |
| SUM | 합계 계산 | O | O |
| AVG | 평균 계산 | O | O |
| MIN | 최소값 반환 | O | O |
| MAX | 최대값 반환 | O | O |
| STDDEV | 표준편차 | O | O |
| VARIANCE | 분산 | O | O |
| 함수 | 설명 | Oracle | SQL Server |
|---|
| NVL | NULL 대체 | O | X |
| NVL2 | NULL 여부 분기 | O | X |
| ISNULL | NULL 대체 | X | O |
| NULLIF | 값 같으면 NULL | O | O |
| COALESCE | NULL 아닌 첫 값 | O | O |
| DECODE | 값 비교 기반 분기 | O | X |
CASE
CASE 변수
WHEN 값1 THEN 결과 1
...
ELSE 기본 값
END
아니면 when 변수 = 값1 해도 됨