Web & Dev

SQL Data Types Reference

SQL data types across PostgreSQL, MySQL, SQLite, and SQL Server.

Integers

RangePostgreSQLMySQLSQLiteSQL Server
1 byte (0..255 / -128..127)TINYINTINTEGERTINYINT
2 bytesSMALLINTSMALLINTINTEGERSMALLINT
4 bytesINTEGER / INTINTINTEGERINT
8 bytesBIGINTBIGINTINTEGERBIGINT
auto-incrementSERIAL / IDENTITYAUTO_INCREMENTAUTOINCREMENTIDENTITY

Numeric / decimal

TypePostgreSQLMySQLSQLiteSQL Server
Exact decimalNUMERIC / DECIMAL(p,s)DECIMAL(p,s)NUMERICDECIMAL(p,s)
IEEE float (4 byte)REALFLOATREALREAL
IEEE double (8 byte)DOUBLE PRECISIONDOUBLEREALFLOAT
MoneyMONEYDECIMAL(19,4) by conventionMONEY

Text

TypePostgreSQLMySQLSQLiteSQL Server
Fixed lengthCHAR(n)CHAR(n)TEXTCHAR / NCHAR
Variable lengthVARCHAR(n)VARCHAR(n)TEXTVARCHAR / NVARCHAR
Unlimited / CLOBTEXTTEXT / LONGTEXTTEXTVARCHAR(MAX)

Date / time

TypePostgreSQLMySQLSQLiteSQL Server
DateDATEDATETEXT (ISO)DATE
TimeTIMETIMETEXTTIME
TimestampTIMESTAMP / TIMESTAMPTZDATETIME / TIMESTAMPTEXT / INTEGERDATETIME2 / DATETIMEOFFSET
DurationINTERVAL

Other

TypePostgreSQLMySQLSQLiteSQL Server
BooleanBOOLEANTINYINT(1)INTEGER 0/1BIT
UUIDUUIDBINARY(16) / CHAR(36)TEXTUNIQUEIDENTIFIER
JSONJSON / JSONBJSONTEXTNVARCHAR(MAX) + JSON funcs
Binary blobBYTEABLOB / LONGBLOBBLOBVARBINARY(MAX)
EnumCREATE TYPE ... AS ENUMENUM(...)CHECK constraint
Arraytype[]JSON
Was this article helpful?