SQL 通用資料型別

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

註釋:在不同的資料庫中,同一種資料型別可能有不同的名稱。即使名稱相同,尺寸和其他細節也可能不同! 請總是檢查文件!