일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- soundpool
- 자동 생성
- not working
- 안드로이드 푸시
- Mail Server
- 안드로이드 gcm
- dovecot
- UML
- C# IO
- chart.js
- PHP
- 폼메일
- Android
- xe
- roundcube
- WebView
- 우분투
- mysql
- curl
- php 취약점
- FCM
- 안드로이드
- php 시큐어코딩
- 안드로이드 푸쉬
- android 효과음
- C#
- 설치
- html5
- javascript
- 자바스크립트
- Today
- Total
그러냐
MS-SQL vs. ORACLE 함수 비교 본문
종종 개발자로서 프로젝트를 할 때면 우리는 하나의 데이터베이스를 사용한다. 6개월에서 1년정도 오라클을 사용하다가 다시 MSSQL을 사용하려면, 가장 곤란한것이 SQL 함수가 헷갈리는 것이다.
나만 그런가?
아마..나랑 비슷한 사람들도 있으리라 생각한다. 가령 오라클에서 SUBSTR이 MSSQL에서는 뭐였더라? 이런 사람들에게 조금은 유용하리라 생각된다.
문자열 함수
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 함수
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()
수학함수
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
오라클과 MSSQL서버의 제약조건..들...
내가 이거 몰라서 무지 고생한 적있다.
하나의 쿼리문에서 나타날수 있는 컬럼수는 1024개 밖에 안된다. 오라클은 1000개 밖에 안된다. 쿼리문에 1000개나 되는 컬럼을 쓸 일이 있을까? 의심스럽겠지만...통계쪽 개발하도보면 그런일도 생긴다.
얼마전에 웹에서 사용자의 선택조건에 의해 동적으로 SQL문을 생성하며 통계 결과를 생성하는 프로젝트를 했었다. 선택조건의 경우의 수가 1000여가지 이상이므로, 각 경우의 수마다 쿼리문을 작성하거나, 프로시저를 개발하는건 엄두도 못냈다.
열심히 프로그램적으로 쿼리문 만들어 내도록 코딩했다.
잘 돌아갔다. 그러다 문득 특정조건에서만 에러가 났다. 그거 이유 찾느라 정말 고생했다.
이유는 특정 선택조건에 따라 SELECT절의 컬럼수가 1000개가 넘더라.. 전세계 국가별 통계를 내던 중이었다...헉~ 그거 다시 다 수정하고, 업무협의하느라...
나 같은 실수를 하지 마시길 바라면..아래 표는 한번쯤 읽어보시길 바란다.
Feature
SQL Server 2000
Oracle 9i Database
database name length
128
8
column name length
128
30
index name length
128
30
table name length
128
30
view name length
128
30
stored procedure name length
128
30
index length
900
749
max columns per index
16
32
max char() size
8000
2000
max varchar() size
8000
4000
max columns per table
1024
1000
max table row length
8036
255000
max query size
16777216
16777216
recursive subqueries
40
64
constant string size in SELECT
16777207
4000
constant string size in WHERE
8000
4000
출처명 : http://www.webucator.com/resources/sql/reference.html
[출처] MS-SQL vs. ORACLE 함수 비교|작성자 관절분리
'mssql' 카테고리의 다른 글
[MSSQL2005] 엑셀 데이터 가져오기/내보내기 (0) | 2016.01.27 |
---|---|
VS 2008 설치후 MS-SQL 2005 설치 안 될때 (0) | 2016.01.27 |
MSSQL Cast, Convert 함수 사용 테스트 (0) | 2016.01.27 |
mssql에서 auto increment값 가져오기 (0) | 2016.01.27 |
MSSQL 복원사용자계정이 있을때 계정 매핑 (0) | 2016.01.27 |