728x90
반응형
이번에 처~음으로 Oracle을 만져봤습니다. ㅡ ㅡa
어떻게 계~속 MS SQL과만 인연이 있어서 그쪽만 해왔는데,
새로일하는 곳은 MS SQL, Oracle, MySQL를 다 쓰더군요. -0-;;
이번에 새롭게 안것이 있어서 적어봅니다.
평소, ANSI SQL를 최대한 존중해서 짜왔습니다.
그러는것이 데이터베이스 환경이 바뀌어도 최대한 빨리 적응하는 방법이라고 생각했기때문이죠.
그래서 일부러 T-SQL로 쓰지 않는데....
근데, ANSI-SQL를 모두 지원하는게 아니더군요. T T
오라클에는 Top도...없고... inner join ~on 문도 안됩니다.
( 테이블 두개 Join해서 20번째에서 30번째데이터 가져오는 쿼리짜는데, 하루걸렸습니다. T T )
이렇다면.. 뭐하러 3년이 넘도록 ANSI-SQL를 고집했는지.... 멍청하기도 하지.. ㅡ ㅡa
(이래서 넓은 세상을 봐야해~)
MS-SQL과 Oracle에서의 지원 함수 차이를 정리해둔 문서를 찾아서 올려봅니다.
원본링크를 보시는게 좋을겁니다. 참고하세요.
원본 링크 : http://www.webucator.com/resources/sql/reference.html
*same for both databases
Math Functions | ||
---|---|---|
Function | 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 |
String Functions | ||
---|---|---|
Function | Oracle | SQL Server |
Convert character to ASCII | ASCII | ASCII |
String concatenate | CONCAT | (expression + expression) |
Convert ASCII to character | CHR | CHAR |
Return starting point of character in character string (from left) | INSTR | CHARINDEX |
Convert characters to lowercase | LOWER | LOWER |
Convert characters to uppercase | UPPER | UPPER |
Pad left side of character string | LPAD | N/A |
Remove leading blank spaces | LTRIM | LTRIM |
Remove trailing blank spaces | RTRIM | RTRIM |
Starting point of pattern in character string | INSTR | PATINDEX |
Repeat character string multiple times | RPAD | REPLICATE |
Phonetic representation of character string | SOUNDEX | SOUNDEX |
String of repeated spaces | RPAD | SPACE |
Character data converted from numeric data | TO_CHAR | STR |
Substring | SUBSTR | SUBSTRING |
Replace characters | REPLACE | STUFF |
Capitalize first letter of each word in string | INITCAP | N/A |
Translate character string | TRANSLATE | N/A |
Length of character string | LENGTH | DATALENGTH or LEN |
Greatest character string in list | GREATEST | N/A |
Least character string in list | LEAST | N/A |
Convert string if NULL | NVL | ISNULL |
Date Functions | ||
---|---|---|
Function | Oracle | SQL Server |
Date addition | (use +) | DATEADD |
Date subtraction | (use -) | DATEDIFF |
Last day of month | LAST_DAY | N/A |
Time zone conversion | NEW_TIME | N/A |
First weekday after date | NEXT_DAY | N/A |
Convert date to string | TO_CHAR | DATENAME |
Convert date to number | TO_NUMBER(TO_CHAR()) | DATEPART |
Convert string to date | TO_DATE | CAST |
Get current date and time | SYSDATE | GETDATE() |
728x90
반응형
'SQL > ORACLE' 카테고리의 다른 글
[ORACLE]DUAL 테이블이란? (0) | 2014.02.12 |
---|---|
[ORACLE]문자 함수(Character functions) (0) | 2014.02.12 |
[ORACLE]숫자 함수(number functions) (0) | 2014.02.12 |
[ORACLE]날짜 함수(Date Functions) (0) | 2014.02.12 |
SQL - INDEX (0) | 2014.02.12 |
오라클 버전 확인, oracle version 확인 (0) | 2014.02.03 |
오라클 테이블스페이스 용량 조회, oracle tablespace 용량 조회 (0) | 2014.02.03 |
re: oracle 쿼리에서 (+) 의미는 뭔가요? (0) | 2014.01.28 |