數據類型定義了資料欄位可儲存的值的種類。每個資料庫欄位在建立時必須指定名稱與數據類型,這是 SQL 理解資料預期格式與交互方式的關鍵標籤。
| 數據類型 | 描述 |
|---|---|
| CHARACTER(n) | 固定長度字串,長度 n |
| VARCHAR(n) / CHARACTER VARYING(n) | 可變長度字串,最大長度 n |
| BINARY(n) | 固定長度二進位串,長度 n |
| BOOLEAN | TRUE 或 FALSE 值 |
| VARBINARY(n) / BINARY VARYING(n) | 可變長度二進位串,最大長度 n |
| INTEGER(p) | 整數值,精度 p |
| SMALLINT | 整數,精度 5 |
| INTEGER | 整數,精度 10 |
| BIGINT | 整數,精度 19 |
| DECIMAL(p,s) | 精確數值,精度 p,小數位 s (如 decimal(5,2) = 3位整數.2位小數) |
| NUMERIC(p,s) | 精確數值,同 DECIMAL |
| FLOAT(p) | 近似數值,尾數精度 p,基數 10 指數表示法 |
| REAL | 近似數值,尾數精度 7 |
| FLOAT | 近似數值,尾數精度 16 |
| DOUBLE PRECISION | 近似數值,尾數精度 16 |
| DATE | 年月日 |
| TIME | 時分秒 |
| TIMESTAMP | 年月日時分秒 |
| INTERVAL | 時間區間,由整數欄位組成 |
| ARRAY | 固定長度有序元素集合 |
| MULTISET | 可變長度無序元素集合 |
| XML | XML 資料 |
不同資料庫平台對同類型有不同命名,甚至同名類型尺度也不同:
| 通用類型 | Access | SQL Server | Oracle | MySQL | PostgreSQL |
|---|---|---|---|---|---|
| boolean | Yes/No | Bit | Byte | N/A | Boolean |
| integer | Number (integer) | Int | Number | Int / Integer | Int / Integer |
| float | Number (single) | Float / Real | Number | Float | Numeric |
| currency | Currency | Money | N/A | N/A | Money |
| string (fixed) | N/A | Char | Char | Char | Char |
| string (variable) | Text (<256) / Memo (65k+) | Varchar | Varchar / Varchar2 | Varchar | Varchar |
| binary object | OLE Object / Memo | Binary / Varbinary / Image | Long / Raw | Blob / Text | Binary / Varbinary |
註:同類型在不同資料庫可能有不同名稱,即使名稱相同,尺寸與細節也可能不同!請務必查閱官方文件!