SQL Server数据类型总结
1.char
char [(n)]存储固定长度的非Unicode字符串数据。n定义字符串长度,并且必须是1到8,000之间的值。存储大小为n个字节。
2.varchar
varchar [(n | max)]存储可变长度的非Unicode字符串数据。n定义字符串长度,可以是1到8,000之间的值。max表示最大存储大小为2 ^ 31-1个字节(2 GB)。存储大小是输入数据的实际长度+ 2个字节。
3.nchar
nchar [(n)] 存储固定长度的Unicode字符串数据。n定义字符串长度,并且必须是1到4,000之间的值。存储大小是n个字节的两倍。当排序规则代码页使用双字节字符时,存储大小仍为n个字节。根据字符串,n个字节的存储大小可能小于为n指定的值。4.
4.nvarchar
nvarchar [(n | max)] 存储可变长度的Unicode字符串数据。n定义字符串长度,可以是1到4,000之间的值。max表示最大存储大小为2 ^ 30-1个字符。最大存储大小(以字节为单位)为2 GB。实际存储大小(以字节为单位)是输入字符数+ 2字节的两倍。
5.datetime
定义一个日期,该日期与基于24小时制的小数秒的时间相结合。8字节。日期范围:1753年1月1日至9999年12月31日。时间范围:00:00:00至23:59:59.997。
6.smalldatetime
定义与一天中的时间相结合的日期。时间基于24小时制,秒数始终为零(:00)且没有小数秒。4字节。日期范围:1900年1月1日至2079年6月6日。时间范围:00:00:00至23:59:59。
7.date
在SQL Server中定义日期。3字节。范围:0001-01-01至9999-12-31。
8.time
在SQL Server中定义时间。范围:00:00:00.0000000至23:59:59.9999999。
9.datetime2
datetime2可以视为现有日期时间类型的扩展,它具有更大的日期范围,更大的默认小数精度和可选的用户指定精度。日期范围:0001-01-01至9999-12-31 (date)。时间范围:00:00:00至23:59:59.9999999(time)。

10.bit
数值数据类型,可以取值1,0或NULL。字节大小1。
11.Tinyint
数值数据类型,可以取值0-255.字节大小1。
12.Smallint
数值数据类型,可以取值-32768-32767.字节大小2。
13.int
数值数据类型,字节大小4。
14.bigint
数值数据类型,字节大小8。
15.decimal和numeric
字节大小根据长度而变化。
16.Money
8字节。
17.SmallMoney
4字节。
18.Float
4或8字节。
19.Real
具有24位精度的浮点值。4字节。
char的长度是不可变的,而varchar的长度是可变的。也就是说,定义一个char[10]和varchar[10],如果存进去的是abcd,那么char所占的长度依然为10,除了字符abcd外,后面跟六个空格,而varchar就立马把长度变为4了。取数据的时候,char类型的要用trim()去掉多余的空格,而varchar是不需要的。尽管如此,char的存取数度还是要比varchar要快得多,因为其长度固定,方便程序的存储与查找。但是char也为此付出的是空间的代价,因为其长度固定,所以难免会有多余的空格占位符占据空间,可谓是以空间换取时间效率,而varchar是以空间效率为首位的。
nchar、nvarchar从名字上看多了个n。它表示存储的是Unicode数据类型的字符。我们知道字符中,英文字符只需要一个字节存储就足够了,但汉字众多,需要两个字节存储,英文与汉字同时存在时容易造成混乱,Unicode字符集就是为了解决字符集这种不兼容的问题而产生的,它所有的字符都用两个字节表示,即英文字符也是用两个字节表示。带n 的可以存储 4000个字符,英文字母存在n 类型上也是按两个字节计算。不带n的可以存储8000个字符,英文字符按一个字节,中文字按两个字节。一般来说,如果含有中文字符,用nchar/nvarchar,如果纯英文和数字,用char/varchar。
所以建议,当列数据条目的大小一致时,请使用 char。当列数据条目的大小变化大时,请使用 varchar。当列数据条目的大小变化大时并且大小可能超过8,000个字节时,使用varchar(max)。尽量使用nvarchar来存储数据.只有在你确保该字段不会保存中文的时候,才采用varchar来存储。
在处理货币时,请谨慎选择数据类型。对金钱使用float或real数据类型会造成舍入误差。money或smallmoney数据类型可以精确到1美分的百分之一。对于一些货币值,客户可能请求仅精确到美分,这种情况下,decimal就是更适当的数据类型。
SQL Server数据类型总结的更多相关文章
- 为更好地设计数据库,重新整理sql server数据类型
我们在平常开发过程中,在设计数据的时候,经常碰到数据类型选择的问题,为了更快,更合适地选择正确的数据类型,所以在这里做个总结. 分类 sql server 数据类型 c# 数据类型 描述 应用场景 字 ...
- SQL Server 数据类型映射
SQL Server 和 .NET Framework 基于不同的类型系统. 例如,.NET Framework Decimal 结构的最大小数位数为 28,而 SQL Server 的 decima ...
- MySql和SQL Server数据类型 对比
My Sql 数据类型 SQL Server 数据类型 Yes/No bit Smallint(字节型) tinyint Integer(长整型) int Real(单精度浮点型) real F ...
- SQL Server数据类型与SDE库表sde_type对照表
SDE_column_registry 表管理所有注册列. 警告:如果使用 SQL 界面更改列定义,SDE_column_registry 表中的记录将不会更新.这可能导致之后的任何数据导出失败. S ...
- SQL Server 数据类型映射 (ADO.NET)
SQL Server 数据类型映射 (ADO.NET) .NET Framework 3.5 更新:November 2007 SQL Server 和 .NET Framework 基于不同的类型系 ...
- SQL Server数据类型
转载:http://www.ezloo.com/2008/10/sql_server_data_type.html 数据类型是数据的一种属性,是数据所表示信息的类型.任何一种语言都有它自己所固有 ...
- SQL Server 数据类型 Decimal介绍
为SQL Server 数据类型,属于浮点数类型.存储数据范围是: -1038~1038-1 的固定精度和小数位的数字.一个decimal类型的数据占用了2~17个字节.decimal数据类型在SQL ...
- SQL Server数据类型int、bigint、smallint、tinyint对比表
SQL Server数据类型int.bigint.smallint.tinyint对比表 数据类型 范围 存储 bigint -2^63 (-9,223,372,036,854,775,808) 到 ...
- SQL Server 数据类型映射(转载)
SQL Server 数据类型映射 SQL Server 和 .NET Framework 基于不同的类型系统. 例如,.NET Framework Decimal 结构的最大小数位数为 28,而 S ...
- Sql Server 数据类型与 C# 数据类型对照
Sql Server 数据类型与 C# 数据类型对照 已验证类型(Sql Server 2012 & Visual Studio 2013) Sql Server C# 简写 bigint S ...
随机推荐
- 《Linux内核精髓:精通Linux内核必会的75个绝技》一HACK #11cpuset
HACK #11cpuset 本节介绍控制物理CPU分配的cpuset.cpuset是Linux控制组(Cgroup)之一,其功能是指定特定进程或线程所使用的CPU组.另外,除CPU以外,同样还能指定 ...
- vconsole使用
<html> <head> <meta http-equiv="Content-Type" content="text/html; char ...
- CUDA 新版本 Visual Studio 和 CUDA 兼容性的小问题
▶ 升级到 Visual Studio 2017 和 CUDA 9.1 之后,直接编译以前的 CUDA C 程序出现了如下报错: 严重性 代码 说明 项目 文件 行 禁止显示状态 错误(活动) E00 ...
- windows下使用nginx配置tomcat集群
转自:https://blog.csdn.net/csdn15698845876/article/details/80658599
- 关于setConnectTimeout和setReadTimeout的问题
1.问题描述 这几天测试重构后的下载框架,发现在下载过程中如果网络中断或网络较差,个别应用的下载就会阻塞卡住,一直卡在 “正在下载 xx%”. 2.问题排查和定位 思考:网络差不应该报网络异常的错 ...
- XML解析的二种方法之dom解析
XML解析的二种方法:dom解析和sax解析 文件大小 存储位置 读取速度 dom解析 小文件 放在内存中 快 sax解析 ...
- 282 expression and operations添加运算符
[抄题]: 给定一个仅包含数字 0 - 9 的字符串和一个目标值,返回在数字之间添加了 二元 运算符(不是一元)+, - 或 * 之后所有能得到目标值的情况. "123", 6 - ...
- quartz cron表达式demo
1.每天0点5分开始,以后每隔15分钟启动一次,23:50停止: 0 5/15 0-23 * * * cron表达式,由于从5分开始,每15分钟执行一次,到了23点的最后一次执行时间正好是23:50. ...
- Mybatis框架的输出映射类型
Mapper.xml映射文件中定义了操作数据库的sql,每个sql是一个statement,映射文件是mybatis的核心. resultType(输出类型) 1.输出简单类型 (1)我们在UserM ...
- 生物信息学——RNA的剪切过程
生物信息学——RNA的剪切过程 外显子(exon expressed region)是真核生物基因的一部分,它在剪接(Splicing)后仍会被保存下来,并可在蛋白质生物合成过程中被表达为蛋白质. ...