728x90
반응형

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;         
SELECT TRANSLATE('12A','1234567890'||'12AB3456','1234567890') FROM DUAL;
SELECT NVL(LENGTH(TRANSLATE('A', ' +.0123456789', ' ')),0) FROM DUAL;    
SELECT TRANSLATE('ABCD12','1234','ABCD')        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

해당일을 기준으로 지정된 요일의 다음 날짜를 변환
SELECT NEXT_DAY(SYSDATE,'토요일')        FROM DUAL;

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

 

728x90
반응형
블로그 이미지

nineDeveloper

안녕하세요 현직 개발자 입니다 ~ 빠르게 변화하는 세상에 뒤쳐지지 않도록 우리모두 열심히 공부합시다 ~! 개발공부는 넘나 재미있는 것~!

,