SQL 通用數(shù)據(jù)類型


 數(shù)據(jù)類型定義了存儲在列中的值的類型。


SQL 通用數(shù)據(jù)類型


 數(shù)據(jù)庫表中的每一列都需要有一個名稱和數(shù)據(jù)類型。

 SQL 開發(fā)人員必須在創(chuàng)建 SQL 表時決定表中的每個列將要存儲的數(shù)據(jù)的類型。數(shù)據(jù)類型是一個標(biāo)簽,是便于 SQL 了解每個列期望存儲什么類型的數(shù)據(jù)的指南,它也標(biāo)識了 SQL 如何與存儲的數(shù)據(jù)進(jìn)行交互。

 下面的表格列出了 SQL 中通用的數(shù)據(jù)類型:

數(shù)據(jù)類型 描述
CHARACTER(n) 字符/字符串。固定長度 n。
VARCHAR(n) 或
CHARACTER VARYING(n)
字符/字符串??勺冮L度。最大長度 n。
BINARY(n) 二進(jìn)制串。固定長度 n。
BOOLEAN 存儲 TRUE 或 FALSE 值
VARBINARY(n) 或
BINARY VARYING(n)
二進(jìn)制串。可變長度。最大長度 n。
INTEGER(p) 整數(shù)值(沒有小數(shù)點(diǎn))。精度 p。
SMALLINT 整數(shù)值(沒有小數(shù)點(diǎn))。精度 5。
INTEGER 整數(shù)值(沒有小數(shù)點(diǎn))。精度 10。
BIGINT 整數(shù)值(沒有小數(shù)點(diǎn))。精度 19。
DECIMAL(p,s) 精確數(shù)值,精度 p,小數(shù)點(diǎn)后位數(shù) s。例如:decimal(5,2) 是一個小數(shù)點(diǎn)前有 3 位數(shù)小數(shù)點(diǎn)后有 2 位數(shù)的數(shù)字。
NUMERIC(p,s) 精確數(shù)值,精度 p,小數(shù)點(diǎn)后位數(shù) s。(與 DECIMAL 相同)
FLOAT(p) 近似數(shù)值,尾數(shù)精度 p。一個采用以 10 為基數(shù)的指數(shù)計數(shù)法的浮點(diǎn)數(shù)。該類型的 size 參數(shù)由一個指定最小精度的單一數(shù)字組成。
REAL 近似數(shù)值,尾數(shù)精度 7。
FLOAT 近似數(shù)值,尾數(shù)精度 16。
DOUBLE PRECISION 近似數(shù)值,尾數(shù)精度 16。
DATE 存儲年、月、日的值。
TIME 存儲小時、分、秒的值。
TIMESTAMP 存儲年、月、日、小時、分、秒的值。
INTERVAL 由一些整數(shù)字段組成,代表一段時間,取決于區(qū)間的類型。
ARRAY 元素的固定長度的有序集合
MULTISET 元素的可變長度的無序集合
XML 存儲 XML 數(shù)據(jù)

SQL 數(shù)據(jù)類型快速參考手冊


 然而,不同的數(shù)據(jù)庫為數(shù)據(jù)類型定義提供了不同的選擇。
 下表顯示了不同數(shù)據(jù)庫平臺上某些數(shù)據(jù)類型的通用名稱:

數(shù)據(jù)類型 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

lamp

注釋:在不同的數(shù)據(jù)庫中,相同的數(shù)據(jù)類型可能有不同的名稱。即使名字相同,大小和其他細(xì)節(jié)也可能不同!請隨時檢查文件!