Skip to content

Type Mappings

sql-splitter handles 50+ data type mappings during conversion.

MySQLPostgreSQLSQLiteMSSQL
TINYINTSMALLINTINTEGERTINYINT
SMALLINTSMALLINTINTEGERSMALLINT
MEDIUMINTINTEGERINTEGERINT
INTINTEGERINTEGERINT
BIGINTBIGINTINTEGERBIGINT
FLOATREALREALFLOAT
DOUBLEDOUBLE PRECISIONREALFLOAT
DECIMAL(p,s)DECIMAL(p,s)REALDECIMAL(p,s)
MySQLPostgreSQLSQLiteMSSQL
CHAR(n)CHAR(n)TEXTNCHAR(n)
VARCHAR(n)VARCHAR(n)TEXTNVARCHAR(n)
TEXTTEXTTEXTNVARCHAR(MAX)
MEDIUMTEXTTEXTTEXTNVARCHAR(MAX)
LONGTEXTTEXTTEXTNVARCHAR(MAX)
MySQLPostgreSQLSQLiteMSSQL
BINARY(n)BYTEABLOBBINARY(n)
VARBINARY(n)BYTEABLOBVARBINARY(n)
BLOBBYTEABLOBVARBINARY(MAX)
MEDIUMBLOBBYTEABLOBVARBINARY(MAX)
LONGBLOBBYTEABLOBVARBINARY(MAX)
MySQLPostgreSQLSQLiteMSSQL
DATEDATETEXTDATE
TIMETIMETEXTTIME
DATETIMETIMESTAMPTEXTDATETIME2
TIMESTAMPTIMESTAMPTEXTDATETIME2
YEARSMALLINTINTEGERSMALLINT
MySQLPostgreSQLSQLiteMSSQL
TINYINT(1)BOOLEANINTEGERBIT
BOOLBOOLEANINTEGERBIT
MySQLPostgreSQLSQLiteMSSQL
INT AUTO_INCREMENTSERIALINTEGER PRIMARY KEYINT IDENTITY(1,1)
BIGINT AUTO_INCREMENTBIGSERIALINTEGER PRIMARY KEYBIGINT IDENTITY(1,1)
MySQLPostgreSQLSQLiteMSSQL
JSONJSONBTEXTNVARCHAR(MAX)

MySQL ENUMs are converted to:

  • PostgreSQL: VARCHAR(255) with CHECK constraint
  • SQLite: TEXT
  • MSSQL: NVARCHAR(255)

PostgreSQL UUID is converted to:

  • MySQL: CHAR(36)
  • SQLite: TEXT
  • MSSQL: UNIQUEIDENTIFIER

PostgreSQL arrays generate a warning and are converted to:

  • MySQL: JSON
  • SQLite: TEXT
  • MSSQL: NVARCHAR(MAX)

These features generate warnings during conversion:

  • Custom types (CREATE TYPE)
  • Triggers (CREATE TRIGGER)
  • Stored procedures
  • Views with dialect-specific syntax
  • Partitioning