BLOG ARTICLE mssql | 1 ARTICLE FOUND

  1. 2008.02.20 MSSQL에서 MySQL로 이전시에 주의할 점들

- with(nolock) 은...
set transaction isolation level read uncommitted;
로 해결.


- TOP은 LIMIT로 변경.
ex.
SELECT TOP 10 * FROM books
-->
SELECT * FROM books LIMIT 10;


- IF는 ENDIF와 pair여야한다.
ex.
IF (condition) THEN
do sth;
END IF;


- Auto increment
ex.
SET @id = @@IDENTITY
SET @id = IDENTITY_CURRENT()
-->
SET @id = LAST_INSERT_ID();

- Stored Procedure
delimiter를 이용해 ;를 변경하고 다시 원상복귀
ex.
delimiter //
CREATE PROCEDURE xProc
do sth;
END;
//
delimeter ;


- Data type 비교

수치 자료형


MySQL
Size
SQL
Server 2000

TINYINT
1 Byte
TINYINT
SMALLINT 2 Bytes SMALLINT
MEDIUMINT 3 Bytes
INT 4 Bytes INT
INTEGER 4 Bytes INT
BIGINT 8 Bytes BIGINT
FLOAT(X<=24) 4 Bytes FLOAT(0)
FLOAT(25<=X<=53)
8 Bytes FLOAT(25)
DOUBLE 8 Bytes FLOAT(25)
DOUBLE PRECISION 8 Bytes FLOAT(53)
REAL 8 Bytes REAL
DECIMAL M Bytes(D+2, if M<D)
DECIMAL
NUMERIC M Bytes(D+2, if M<D) NUMERIC

날짜 시간 자료형



MySQL Size SQL er 2000
DATE
3 Bytes SMALLDATETIME
DATETIME 8 Bytes DATETIME
TIMESTAMP 4 BytesTIMESTAMP
TIME 3 Bytes SMALLDATETIME
YEAR 1 Byte
SMALLDATETIME

 
문자열형


MySQL
Size SQL Server 2000
CHAR(m) M Bytes, 1<=M<=255 CHAR
VARCHAR(m) L+1
Bytes where L<=M and 1<=M<=255
VARCHAR

TINYBLOB
L + 1 Bytes where L<2^8 BINARY
BLOB L + 2 Bytes where L<2^16
VARBINARY
TEXT L + 2 Bytes where L<2^16 TEXT
MEDIUMBLOB L + 3 Bytes where L<2^24 IMAGE
MEDIUMTEXT L + 3 Bytes where L<2^24 TEXT
LONGBLOB L + 4 Bytes where L<2^32 IMAGE
LONGTEXT L + 4 Bytes where L<2^32 TEXT
ENUM
(VALUE1, VALUE2, …)
데이터형이 1또는 2바이트를차지하는지는 그값의 수치로판단된다. 매칭되는 자료형이 없으나 CHECK 제약을
이용해 구현 가능하다.
SET
(VALUE1, VALUE2, …)
1, 2, 3, 4 또는 8 바이트

Set 멤버들의 최대값에 의존적인 값이다.




AND