SQL Data Types (Oracle, MySQL, PostgreSQL, SQL Server)
Choosing the right data type for each column is key to ensuring data integrity, optimizing storage, and improving performance. Different database systems support various data types — here’s a comprehensive overview for Oracle, MySQL, PostgreSQL, and SQL Server.
✍️ Why Data Types Matter
Ensure correct data storage (e.g., numbers, text, dates)
Enforce data validity and constraints
Optimize performance and storage space
Enable database engine to perform proper operations
⚙️ Common SQL Data Types by DBMS
Type Category
Oracle
MySQL
PostgreSQL
SQL Server
Description
Integer
NUMBER(p) (precision ≤ 38), BINARY_INTEGER
INT, TINYINT, SMALLINT, BIGINT
INTEGER, SMALLINT, BIGINT
INT, SMALLINT, BIGINT
Whole numbers
Decimal/Floating
NUMBER(p,s), FLOAT, BINARY_FLOAT, BINARY_DOUBLE
DECIMAL, FLOAT, DOUBLE
NUMERIC, REAL, DOUBLE PRECISION
DECIMAL, FLOAT, REAL
Numbers with decimals
String/Text
VARCHAR2(size), CHAR(size), CLOB
VARCHAR, TEXT, CHAR
VARCHAR, TEXT, CHAR
VARCHAR, TEXT, CHAR
Variable/fixed-length text
Date & Time
DATE (includes time), TIMESTAMP, INTERVAL
DATE, DATETIME, TIMESTAMP
DATE, TIMESTAMP
DATE, DATETIME, TIME
Dates and timestamps
Boolean
No native boolean (use NUMBER(1) or CHAR(1) for flags)