DBMS중 가장 많이 사용되어지는 오라클, MS-SQL 함수에 대한 비교 내용을 정리해 보았습니다.
오라클, MS-SQL 비슷하면서도 다른 함수들이 아주 많은것 같아요
1. 문자 관련 함수
1.1 오라클 MS-SQL 비교
Function |
Oracle |
SQL Server |
ASCII로 변환 |
ASCII |
ASCII |
문자 합치기 |
CONCAT |
(expression + expression) |
ASCII를 문자로 변환 |
CHR |
CHAR |
지정 문자 포함 시작위치를 찾는다 |
INSTR |
CHARINDEX |
소문자 변환 |
LOWER |
LOWER |
대문자 변환 |
UPPER |
UPPER |
왼쪽에 공백을 삽입 |
LPAD |
N/A |
왼쪽공백 제거 |
LTRIM |
LTRIM |
오른쪽 공백 제거 |
RTRIM |
RTRIM |
지정 문자 포함 시작위치를 찾는다 |
INSTR |
PATINDEX |
오른쪽에 공백을 삽입 |
RPAD |
REPLICATE |
오른쪽에 공백을 삽입 |
RPAD |
SPACE |
문자로 변환 |
TO_CHAR |
STR |
시작점에서 길이만큼 문자를 자른다 |
SUBSTR |
SUBSTRING |
문자의 변환 |
REPLACE |
STUFF |
첫글자 대문자 변환 |
INITCAP |
N/A |
문자의 변환 |
TRANSLATE |
N/A |
문자의 길이 |
LENGTH |
DATALENGTH or LEN |
가장 길이가 긴 문자를 반환한다. |
GREATEST |
N/A |
가장 길이가 적은 문자를 반환한다. |
LEAST |
N/A |
NULL이면 대체문자로 변환한다 |
NVL |
ISNULL |
1.2 오라클 문자 관련 함수 사용예
함수 |
사 용 예 |
ASCII |
SELECT ASCII ('A') FROM DUAL; |
CONCAT |
SELECT CONCAT ('ABCD12','C') FROM DUAL; |
CHR |
SELECT CHR (65) FROM DUAL; |
INSTR |
SELECT INSTR ('ABCD12','C') FROM DUAL; |
LOWER |
SELECT LOWER ('ABCD12') FROM DUAL; |
UPPER |
SELECT UPPER ('ABCD12') FROM DUAL; |
LPAD |
SELECT LPAD ('AB',4) FROM DUAL; |
LTRIM |
SELECT LTRIM ('ABCD12',2) FROM DUAL; |
RTRIM |
SELECT RTRIM ('ABCD12',2) FROM DUAL; |
INSTR |
SELECT INSTR ('ABCD12','C') FROM DUAL; |
RPAD |
SELECT RPAD ('AB',4) FROM DUAL; |
TO_CHAR |
SELECT TO_CHAR ('ABCD12') FROM DUAL; |
SUBSTR |
SELECT SUBSTR ('ABCD12',2,1) FROM DUAL; |
REPLACE |
SELECT REPLACE ('ABCD12','C') FROM DUAL; |
INITCAP |
SELECT INITCAP ('ABCD12') FROM DUAL; |
TRANSLATE |
SELECT TRANSLATE('12AB3456','x1234567890','x') FROM DUAL; |
LENGTH |
SELECT LENGTH ('ABCD12') FROM DUAL; |
GREATEST |
SELECT GREATEST ('A','AB','ABC','ABCD') FROM DUAL; |
LEAST |
SELECT LEAST ('A','AB','ABC','ABCD') FROM DUAL; |
NVL |
SELECT NVL ('ABCD12','-') FROM DUAL; |
2. Date 함수
함 수 |
Oracle |
SQL Server |
날짜 증가 |
(use +) |
DATEADD |
날짜 감소 |
(use -) |
DATEDIFF |
마지막 날짜 |
LAST_DAY |
N/A |
현 시간 |
NEW_TIME |
N/A |
해당일을 기준으로 지정된 요일의 다음 날짜를 변환 |
NEXT_DAY |
N/A |
날짜를 문자로 변환 |
TO_CHAR |
DATENAME |
날짜 숫자변환 |
TO_NUMBER(TO_CHAR()) |
DATEPART |
문자를 날짜로 변환 |
TO_DATE |
CAST |
현 시간 |
SYSDATE |
GETDATE() |
3. 수학함수
함 수
Oracle
SQL Server
Absolute value
ABS
ABS
Arc cosine
ACOS
ACOS
Arc sine
ASIN
ASIN
Arc tangent of n
ATAN
ATAN
Arc tangent of n and m
ATAN2
ATN2
Smallest integer >= value
CEIL
CEILING
Cosine
COS
COS
Hyperbolic cosine
COSH
COT
Exponential value
EXP
EXP
Round down to nearest integer
FLOOR
FLOOR
Natural logarithm
LN
LOG
Logarithm, any base
LOG(N)
N/A
Logarithm, base 10
LOG(10)
LOG10
Modulus (remainder)
MOD
USE MODULO (%) OPERATOR
Power
POWER
POWER
Random number
N/A
RAND
Round
ROUND
ROUND
Sign of number
SIGN
SIGN
Sine
SIN
SIN
Hyperbolic sine
SINH
N/A
Square root
SQRT
SQRT
Tangent
TAN
TAN
Hyperbolic tangent
TANH
N/A
Truncate
TRUNC
N/A
Highest number in list
GREATEST
N/A
Lowest number in list
LEAST
N/A
Convert number if NULL
NVL
ISNULL
함 수
Oracle
SQL Server
Absolute value
ABS
ABS
Arc cosine
ACOS
ACOS
Arc sine
ASIN
ASIN
Arc tangent of n
ATAN
ATAN
Arc tangent of n and m
ATAN2
ATN2
Smallest integer >= value
CEIL
CEILING
Cosine
COS
COS
Hyperbolic cosine
COSH
COT
Exponential value
EXP
EXP
Round down to nearest integer
FLOOR
FLOOR
Natural logarithm
LN
LOG
Logarithm, any base
LOG(N)
N/A
Logarithm, base 10
LOG(10)
LOG10
Modulus (remainder)
MOD
USE MODULO (%) OPERATOR
Power
POWER
POWER
Random number
N/A
RAND
Round
ROUND
ROUND
Sign of number
SIGN
SIGN
Sine
SIN
SIN
Hyperbolic sine
SINH
N/A
Square root
SQRT
SQRT
Tangent
TAN
TAN
Hyperbolic tangent
TANH
N/A
Truncate
TRUNC
N/A
Highest number in list
GREATEST
N/A
Lowest number in list
LEAST
N/A
Convert number if NULL
NVL
ISNULL
'SQL > ORACLE함수' 카테고리의 다른 글
[SUM() OVER()] KEY값이 일치하는 항목 누적 합계 구하기 (0) | 2014.06.11 |
---|---|
ORACLE 명령어 정리 (0) | 2014.06.11 |
[본문스크랩] 오라클 종합 요약 (0) | 2014.06.11 |
오라클 간단한 프로시져 CURSOR,FOR 문 사용하기 (0) | 2014.06.11 |
MERGE INTO문 INSERT와 UPDATE를 하나의 쿼리로 (0) | 2014.06.11 |
[오라클함수] 오라클 CASE WHEN THEN 구문 (0) | 2014.06.11 |
[오라클함수] 오라클 DECODE함수 사용하기 (0) | 2014.06.11 |
[오라클함수] GROUP BY 컬럼..컬럼 사용하기 (0) | 2014.06.11 |