首页 > 学院 > 开发设计 > 正文

T-SQL 语言基础(二)—— 数据类型

2019-11-08 20:34:45
字体:
来源:转载
供稿:网友

T-SQL 语言基础(二)—— 数据类型

一、精确数字型
1、整数型
数据类型 存储长度 范围
bigint 8 字节 -9223372036854775808 到 9223372036854775807
int 4 字节 -2147483648 到 2147483648 7
smallint 2 字节 -32768 到 32767
tinyint 1 字节 0,1 或 NULL
2、带国定精度和小数位数的数据类型
数据类型 存储长度 范围
numeric 1-9位:5字节10-19位:9字节20-28位:13字节29-38位:17字节 -(10^38+1) 到 (10^38-1)
decimal 1-9位:5字节10-19位:9字节20-28位:13字节29-38位:17字节 -(10^38+1) 到 (10^38-1)
3、货币型
数据类型 存储长度 范围
money 8字节 -922337203685477.5808 到 922337203685477.5808
smallmoney 4字节 -214748.3647 到 214748.3647
二、近似数字型
数据类型 存储长度 范围
float 7位:4字节15位:8字节 -922337203685477.5808 到 922337203685477.5808
real 4字节 -214748.3647 到 214748.3647
数据类型 存储长度 范围
money 8字节 -922337203685477.5808 到 922337203685477.5808
smallmoney 4字节 -214748.3647 到 214748.3647
三、日期时间类型
数据类型 存储长度 范围
datetime 8字节 1753-01-01到9999-12-31
smalldatetime 4字节 1900-01-01到2079-06-06
date 0001-01-01到9999-12-31
time 00:00:00.0000000 到 23.59.59.9999999
datetime2(7) 时间日期组合,最高可以设定到小数点后7位
datetimeoffset 时间日期组合,其中时间以24小时制显示并带有时区信息
  C# 类型的 DateTime 应对应数据库的 datetime2(7),但是 Code First 时属性应该加上 [Column(TypeName=”datetime2”)]特性,否则数据库生成的是 datetime 类型,而非datetime2 类型
四、字符串类型
数据类型 存储长度 范围
char 1-8000 字符 1个字符占一字节,定长字符串
varchar varchar(n):1-8000字符varchar(max):1到2^31-1字符 varchar(n):1字符占1字节 varchar(max):实际输入长度加2字节
text 1到2^31-1字符 1字符一字节,存储多少字符占多少空间,最大可存储2GB
五、Unicode 字符串类型
数据类型 存储长度 范围
nchar 1-4000 字符 1个字符占2字节,定长字符串
nvarchar nvarchar(n):1-4000字符nvarchar(max):1到2^31-1字符 nvarchar(n):1字符占2字节 varchar(max):实际输入长度的两倍加2字节
ntext 1到2^31-1字符 1字符2字节,存储多少字符占多少空间,最大2GB
六、二进制字符串
数据类型 存储长度 范围
binary 1-8000 字节 定长,长度不足系统自动补上 0x00
varbinary varbinary(n):1-8000字节varbinary(max):1到(2^31-1)个字节 varbinary(n):可变长度,输入数据的实际长度varbinary(max):输入的实际长度加2
image 1 到 (2^31-1) 个字节 可变长度,输入数据的实际长度
七、其他数据类型

cursor: sql_variant: table: timestamp: uniqueidentifier: xml

八、用户自定义类型
EXEC sp_addtype no,'INT','NOT NULL' -- 创建名为“编号”的用户定义非空类型EXEC sp_addtype name,'varchar(10)','NULL'GODECLARE @id noDECLARE @name nameSELECT TOP 1 @id = id,@name = name FROM employee ORDER BY id DESC PRINT @id PRINT @nameDROP TYPE no -- 删除用户自定义类型 noEXEC SP_DROPTYPE name -- 删除用户自定义类型 nameGO
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表