SQL所有的表都是由字段组成,每个字段都存储着不同的数据类型。那么SQL中所有的数据类型你真的理解吗?

今天我就给大家详细的说明一下SQL中的数据类型,

先介绍类型, 最后再给大家通过实例来理解它。

数据类型是一种属性,用于指定对象可保存的数据的类型,SQL Server中支持多种数据类型,包括字符类型、数值类型以及日期类型等。数据类型相当于一个容器,容器的大小决定了装的东西的多少,将数据分为不同的类型可以节省磁盘空间和资源。

Sql Server 还能自动限制每个数据类型的取值范围,例如定义了一个类型为int的字段,如果插入数据时插入的值的大小在smallint或者tinyint范围之内, Sql Server 会自动将类型转换为smallint 或者tinyint,这样一来,在存储数据时,占用的存储空间只有int的1/2或则1/4.

Sql Server数据库管理系统中的数据类型可以分为两类,分别是:

1:系统默认的数据类型

2:用户自定义的数据类型。下面分别介绍这两大类数据类型的内容.

实例

IF OBJECT_ID('db_tempone','u') IS NOT NULL

DROP TABLE db_tempone

CREATE TABLE db_tempone

(id INT PRIMARY KEY IDENTITY,

Adecimal DECIMAL(16,4), --数量

Afloat FLOAT,

Adate DATE,

AChar CHAR(3),

AVarchar VARCHAR(5),

AdateTime DATETIME,

Amoney MONEY,

AdatetimeOffSet DATETIMEOFFSET,

--Arowversion rowversion, 两种类型只能是一个

Atimestamp timestamp

)

GO

--ID是自增长

--Atimestamp 时间戳,不需要赋值

INSERT INTO db_tempone

( Adecimal,Afloat,Adate,AChar,AVarchar,AdateTime,amoney,AdatetimeOffSet )

VALUES

( 123.456789, 123.456789, GETDATE(),'11','aat',GETDATE(),123.456789,GETDATE()

)

go

SELECT * FROM db_tempone

sql server数据库知识点(Server所有数据类型详细说明)(1)

--说明:

1:指定字符长度是 Char(5),在插入数据的时候,如果超出长度,会提示

--消息 8152,级别 16,状态 14,第 3 行 --将截断字符串或二进制数据。

2:DECIMAL(16,4), 指定4位小数,如果插入的小数位数超出,则四舍五入截取4位

3:Float 没有指定小数位数时,不会截取

4:DateTime,及Date 它们带时间,区别从图中可以看出

5:Money:固定四位小数,超出也四舍五入截取4位

6:Timestamp:时间戳类型,系统自动赋值,无论是插入或是修改都会不同,代表有改动。

以前就是所有数据类型的一些说明,希望对您有所帮助。谢谢

,