---
title: SQL Data Types
localeTitle: SQL数据类型
---
# SQL数据类型

表中的每列必须具有数据类型。它指示列存储的值的类型。

每个数据库都可以接受不同的数据类型，但通常，数据类型列表是：

### 字符串类型

数据类型|描述 ------------ | ------------- `CHAR(n)` |字符串。固定长度的n。最小长度为1.如果为包含少于定义长度的字符的CHAR列分配值，则剩余空间将填充空白字符。 `VARCHAR(n)` |字符串。可变长度。最大长度n。最小长度为1 `BINARY(n)` |二进制字符串。固定长度的n `VARBINARY(n)`或`BINARY VARYING(n)` |二进制字符串。可变长度。最大长度n

### 数字类型

数据类型|描述 ------------ | ------------- `INTEGER` |整数数字。从-2,147,483,648到2,147,483,647。 `SMALLINT` |整数数字。从-32,768到32,767 `BIGINT` |整数数字。从-9,223,372,036,854,775,808到9,223,372,036,854,775,807 `DECIMAL(p,s)`或`NUMERIC(p,s)` |精确数值，精度p，比例s。精度是小数点左侧和右侧将存储的最大小数位数。 Scale是将存储在小数点右侧的小数位数。从p中减去此数字以确定小数点左侧的最大位数。示例：decimal（5,2）是一个在小数点前有3位数字，在小数点后有2位数字的数字。 `FLOAT(p)` |近似数字，尾数精度p。基数为10的浮点数指数表示法。此类型的size参数由指定最小精度的单个数字组成 `REAL` |近似数字，尾数精度7 `FLOAT` |近似数字，尾数精度16 `DOUBLE PRECISION` |近似数字，尾数精度16

### 日期和时间类型

数据类型|描述 ------------ | ------------- `DATE` |存储年，月和日值 `TIME` |存储小时，分钟和秒值 `DATETIME` |存储年，月，日，小时，分钟和秒值 `TIMESTAMP` |存储自Unix纪元以来的秒数 `TIME WITH TIME ZONE` |存储带时区的时间 `TIMESTAMP WITH TIME ZONE` |存储带时区的时间戳

### 其他数据类型

数据类型|描述 ------------ | ------------- `BOOLEAN` |存储`TRUE`或`FALSE`值 `ARRAY` |设定长度和有序的元素集合 `MULTISET` |可变长度和无序的元素集合 `XML` |存储XML数据