SQL 通用數據類型
數據類型定義列中存放的值的種類。
SQL 通用數據類型
資料庫表中的每個列都要求有名稱和數據類型。Each column in a database table is required to have a name and a data type.
SQL 開發人員必須在創建 SQL 表時決定表中的每個列將要存儲的數據的類型。數據類型是一個標籤,是便於 SQL 瞭解每個列期望存儲什麼類型的數據的指南,它也標識了 SQL 如何與存儲的數據進行交互。
下麵的表格列出了 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) | 精確數值,精度 p,小數點後位數 s。(與 DECIMAL 相同) |
FLOAT(p) | 近似數值,尾數精度 p。一個採用以 10 為基數的指數計數法的浮點數。該類型的 size 參數由一個指定最小精度的單一數字組成。 |
REAL | 近似數值,尾數精度 7。 |
FLOAT | 近似數值,尾數精度 16。 |
DOUBLE PRECISION | 近似數值,尾數精度 16。 |
DATE | 存儲年、月、日的值。 |
TIME | 存儲小時、分、秒的值。 |
TIMESTAMP | 存儲年、月、日、小時、分、秒的值。 |
INTERVAL | 由一些整數字段組成,代表一段時間,取決於區間的類型。 |
ARRAY | 元素的固定長度的有序集合 |
MULTISET | 元素的可變長度的無序集合 |
XML | 存儲 XML 數據 |
SQL 數據類型快速參考手冊
然而,不同的資料庫對數據類型定義提供不同的選擇。
下麵的表格顯示了各種不同的資料庫平臺上一些數據類型的通用名稱:
數據類型 | Access | SQLServer | 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 (fixed up to 8K) Varbinary (<8K) Image (<2GB) |
Long Raw |
Blob Text |
Binary Varbinary |
![]() |
注釋:在不同的資料庫中,同一種數據類型可能有不同的名稱。即使名稱相同,尺寸和其他細節也可能不同! 請總是檢查文檔! |
---|