开发者社区> Esofar> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

SQL Server常见数据类型介绍

简介: 数据表是由多个列组成,创建表时必须明确每个列的数据类型,以下列举SQL Server常见数据类型的使用规则,方便查阅。 整数类型 int  存储范围是-2,147,483,648到2,147,483,647之间的整数,主键列常设置此类型。
+关注继续查看

数据表是由多个列组成,创建表时必须明确每个列的数据类型,以下列举SQL Server常见数据类型的使用规则,方便查阅。

整数类型

int

 存储范围是-2,147,483,648到2,147,483,647之间的整数,主键列常设置此类型。

(每个数值占用 4字节)

smallint

 存储范围是-32,768 到 32,767 之间的整数,用来存储限定在特定数值范围内的数据。

(每个数值占用 2 字节)

tinyint

 存储范围是0到255 之间的整数,用来存储有限数目的数值。

(每个数值占用 1 字节)

bigint

 存储范围是-9,223,372,036,854,775,808到 9,223,372,036,854,775,807之间的整数。

(每个数值占用 8 字节)

bit

 值只能是0或1,当输入0以外的其他值时,系统均把它们当1看待。常用来表示真假、男女等二值选择。

 

数值类型

decimal(p,s)

 p 为精度(有效位),表示可储存数值的最大位数,小数点左右两侧都包括在内,默认最大位为38 位;s为小数位数,标识小数点后  面所能储存的最大位数,默认最小位为0位。如:123.45,则 p=5,s=2(内存大小取决于精度p)

numeric(p,s)

 numeric 和 decimal 是功能相同的,同是用来保存精度可变的浮点型数据。

float

 浮点型,它是一种近似数值类型,float(n)可储存1-53的可变精度浮点数值。

(内存大小取决于精度n)

money

 货币型,能存储从-9220 亿到 9220 亿之间的数据,精确到小数点后四位。

(每个数值占用 8 字节)

 

日期时间

datetime

 储存有效日期范围是1753/1/1~9999/12/31,可精准到3.33毫秒。(每个数值占用 8 字节)

smalldatetime

 储存有效日期范围是1900/1/1~2079/6/6,精确到分钟。(每个数值占用 4 字节)

 

二进制类型

image

 虽然类型名为image, 但是并不意味着只能保存图片二进制数据,实际上它可以保存任何二进制数据。

 

字符串类型

char(m)

 固定长度字符串,长度为 m。

nchar(m)

 国际化固定长度字符串,长度为 m。

varchar(m)

 可变长度字符串,最大长度为m,且必须是一个介于 1 和 8,000 之间的数值。

nvarchar(m)

 国际化可变长度字符串,最大长度为m, 且必须是一个介于 1 和 4,000 之间的数值。

text

 可变长度字符串,最大长度为 231 - 1个字节。

ntext

 国际化可变长度字符串,最大长度为 230 - 1个字符。

  国际化就是通用与标准。char、varchar、text储存的字符是基于ASCII编码格式,对于其他编码格式的字符可能会造成存储问题。Unicode字符集(万国码)就是为了解决字符集这种不兼容的问题而产生的,它所有的字符都用两个字节表示,即英文字符也是用两个字节表示。nchar、 nvarchar、ntext存储的正是Unicode编码格式的字符。所以一般来说,如果含有中文字符,用nchar、nvarchar、ntext, 如果只含英文字符,就用char、varchar、text。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
函数计算 Python 连接 SQL Server
函数计算 Python 连接 SQL Server 自制脑图
0 0
SQL Server 2000 函数使用---CAST 和 CONVERT
日期格式样式,借以将 datetime 或 smalldatetime 数据转换为字符数据(nchar、nvarchar、char、varchar、nchar 或 nvarchar 数据类型);或者字符串格式样式,借以将 float、real、money 或 smallmoney 数据转换为字符数据(nchar、nvarchar、char、varchar、nchar 或 nvarchar 数据类型)。
0 0
【Sql Server】进阶之行数据转为列显示
在开发系统维护阶段,经常需要进行各种数据统计,各种报表之类的。 这个时候,行数据转数据显示就发挥作用了。 场景:行数据的某列值想作为字段列显示
0 0
【Sql Server】时间转换和查询时间范围查询不正确的原因
最近在做时间方法封装的时候发现了一个问题! 如果sql语句输出的时间字段转为了字符串输出,那么在使用此字段作为时间范围筛选时发现无效了,没法过滤对应的时间范围内记录
0 0
【Sql Server】基础之统计库龄语句,仅作为语句使用
知识点的综合使用 分组、数据转换、Case when then、max、min、count、sum、left join多表关联等知识点
0 0
【Sql Server】sql语句文件组分区函数分组方案对应分区表的简单步骤
本篇文章中,主要讲讲sql server数据库中通过sql语句方式对组分区函数的使用 在实际项目中,sql server数据库中有分区的概念,因为在一个表存在大量数据的情况下,需要通过分区方式保存数据来提供查询性能
0 0
【Sql Server】存储过程通过定时执行添加记录作业
通过上篇了解了什么是存储过程,创建存储过程的方法,以及调用存储过程的方法 本次将通过数据库中的作业功能,进行定时执行存储过程,这样就可以完成我们刚开始假设的场景
0 0
【Sql Server】创建触发器,以及通过触发器来统计阅读数量(下)
在本篇文章中,主要来讲讲数据库中的触发器功能 在实际项目中,触发器多数用到在数据添加、修改、删除时,额外去做的一些操作,比如:数据删除了,会通过触发器将删除数据备份到另一个表,再或者文章被阅读,通过触发器更新阅读数量
0 0
【Sql Server】快速创建表模拟系、课程、老师、学生以及分数(下)
在本篇文章中,主要是创建表以及如何快速模拟表数据,方便快速用于查询测试和验证 相对于增删改,查询对于任何系统来说,都是主要的功能,并且是在有一定量数据后才能进行的一些操作,比如:学生成绩平均分统计等
0 0
【Sql Server】创建表模拟批量添加数据以及添加的方式
在实际项目场景中,需要快速模拟大批量数据进行查询测试 基于这个需求,模拟大数据方式有很多,这里简答的写几个中在数据库模拟大数据的方式
0 0
+关注
Esofar
https://www.cnblogs.com/esofar
文章
问答
文章排行榜
最热
最新
相关电子书
更多
SQL Server在电子商务中的应用与实践
立即下载
SQL Server云化思考与实践
立即下载
RDS SQL Server CPU高使用率性能优化
立即下载