MySQL vs MSSQL

Rozdíly mezi MySQL a MSSQL

27. 12. 2018

CREATE TEMPORARY TABLE IF NOT EXISTS

MySQL

CREATE TEMPORARY TABLE IF NOT EXISTS #tmp AS (SELECT …)

MSSQL

IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID('#tmp') AND TYPE IN (N'U')) SELECT * INTO #tmp FROM (SELECT …) Data

ON DUPLICATE KEY

MySQL

INSERT INTO table (field1, field2, field3) VALUES (value1, value2, value3)
  ON DUPLICATE KEY UPDATE field3 = value3

MSSQL

MERGE  table AS TARGET
  USING (SELECT value1 field1, value2 field2, value3 field3) AS SOURCE
                   ON target.field1 = source.field1
                   AND  target.field2= source.field2
                WHEN MATCHED THEN
                   UPDATE SET field3 = value3
                WHEN NOT MATCHED THEN
                   INSERT (field1, field2, field3) VALUES (value1, value2, value3);

LENGTH

MySQL

LENGTH($field)

MSSQL

DATALENGTH($field)