Microsoft SQL - 数据类型

本文详细介绍了SQL Server中各种数据类型的使用方式,包括整数类型、实数类型、货币类型等,并提供了每种数据类型的存储特点及适用场景,还讲解了自定义数据类型的创建与删除方法。

数据类型(Data Type)

数据类型

整数类型 

Tinyint     8位无符号整数
Smallint    16位带符号整数‘
Int         32位带符号整数
Bigint      64位带符号整数

实数类型 

Decimal或Numerice    38位带符号十进制浮点数
例:decimal(p, s)
//p是忽略小数点后整个数字的总位数,s是需要保留的小数点后的位数,如果不指定该数据的精度与小数位数,那么小数位数将不被截断,如果小数位数>s,s后的位数将被截断并自动四舍五入。
Real     32位带符号浮点数 
Float    64位带符号浮点数

货币类型

Money         64位带符号货币数
Smallmoney    32位带符号货币数

字符类型

Char (n) n×8位字符 n<=8
n指定字符存储的字节数,如果插入表格中的字符长度<n,则系统自动使用空格填补剩余的位置。若>n,会抛出异常。若不提供n则只能插入一个英文字符。

Varchar (n) n个长度字符 n<=8000
n指定英文字符存储的长度而不是字节数,如果插入表格中的英文字符长度<n,则系统不会使用空格补位,如果你指定只能存储10个英文字符,就定义为Varchar(10)。

Text 最大长度为2^31-1(2,147,483,647)个字符。
超过8KB的英文字符数据(ASCⅡ)数据可以考虑用此类型存储。 以上几种字符类型前缀+n表示存储的是中文字符(Unicode),Unicode数据类型所占的空间是非Unicode的两倍,

比如Nchar(1)表示最多插入一个中文字符。

时间类型

DateTime
可存从公元1753年1月1日零时起~公元9999年12月31日23时59分59秒之间的所有日期时间,其精确度可达三百分之一秒即3.33毫秒。
smalldateTime
存储从1900年1月1日~2079年6月6日内的日期。

位数据类型

bit 结果只能是布尔值 用0或者1表示

二进制数据类型

Binary(n) n<=8000 n是二进制数据的位数 
如果插入的二进制数据的长度<n,则系统自动使用0填补剩余的位置。
Varbinary(n)n<=8000 n是二进制数据的位数 
如果插入的二进制数据的长度<n,则系统不会使用0填补剩余的位置。
Image
存储在Image字段中的数据不能Insert直接插入。

其他数据类型

Sql variant

存储除图像 文本 Timestamp(时间戳)类型数据外的其他任何合法的SQL Server数据

Table

用于存储对表或者视图的处理后的结果集 这种数据类型使得变量可以存储一个Table(表)从而使函数或过程返回查询结果更加方便

Uniqueidentifier

它是SQL Server根据计算机网络适配器地址和CPU时钟产生的全局惟一标识符代码(Globally Unique Identifier,简写为GUID) 
此数字可以通过调用SQL Server的 newid()函数获得 在全球各地的计算机经由此函数产生的数字不会相同 XML 专门存储XML类型的数据 Timestamp 时间戳 当以它所定义的列被修改后 此列的值会自动更新到被修改的时间

自定义数据类型

使用图形界面定义:
单击数据库-可编程性-类型-用户自定义数据类型,
使用脚本定义:
exec sp_addtype 数据类型名,'基于的系统数据类型','空或不允许空'
exec sp_addtype IC,'varchar(10)','not null'

删除自定的类型
单击数据库-可编程性-类型-用户定义数据类型-找到刚定义的数据类型-右键删除,一般不推荐使用自定义数据类型。

 

Microsoft SQL - SQL SERVER学习总目录

转载于:https://www.cnblogs.com/myrocknroll/p/6963021.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值