为更好地设计数据库,重新整理sql server数据类型
我们在平常开发过程中,在设计数据的时候,经常碰到数据类型选择的问题,为了更快,更合适地选择正确的数据类型,所以在这里做个总结。
| 分类 | sql server 数据类型 |
c# 数据类型 |
描述 | 应用场景 |
| 字符和字符串 | char(n) | string | 固定长度的字符串,最多存储8000个字符 | |
| nchar(n) | string | 固定长度的unicode数据,最多4000个字符 | ||
| varchar(n) | string | 可变长度的字符串,最多存储8000个字符 | 【常用】,表示字符串,不包含中文。 | |
| nvarchar(n) | string | 可变长度的unicode数据,最多4000个字符 | 【常用】,表示字符串,包含中文。 | |
| varchar(max) | string | 可变长度的字符串,最多1,073,741,824个字符 | 【常用】,同varchar(n),存储字符更多。 | |
| nvarchar(max) | string | 可变长度的unicode数据,最多536,870,912个字符 | 【常用】,同nvarchar(n),存储字符更多。 | |
| text | string | 可变长度的字符串,最多2GB | ||
| ntext | string | 可变长度的unicde数据,最多2GB | ||
| 整数 | bit | bool | 表示0,1或NULL | 【常用】,一般用来表示是或否两种状态的字段。 |
| tinyint | byte | 表示0~255范围的整数 | 【常用】,一般用来表示状态或类型,c#中可以定义枚举来表示。 | |
| smallint | short | 表示-2^15至2^15-1范围的整数 | ||
| int | int | 表示-2^31至2^31-1范围的整数 | 【常用】,表示整数,或自增主键id | |
| bigint | long | 表示-2^63至2^63-1范围的整数 | 【常用】,表示整数,表示范围更大。 | |
| 精确数 | float | single | 表示32位浮点数字,精度7位 | 【常用】,初始化后缀使用f或F,一般用来表示金额。 |
| double | double | 表示64位浮点数字,精度15到16位 | 【常用】,初始化后缀使用d或D | |
| decimal | decimal | 表示128位浮点数字,精度28到29位 | 初始化后缀使用m或M | |
| 货币 | smallmoney | decimal | 同上 | |
| money | decimal | 同上 | ||
| 日期时间 | smalldatetime | datetime | 表示从 1900 年 1 月 1 日 到 2079 年 6 月 6 日,精度为 1 分钟。 | |
| datetime | datetime | 从 1753 年 1 月 1 日 到 9999 年 12 月 31 日,精度为 100 纳秒。 | 【常用】,表示时间。 | |
| 二进制 | binary | byte[] | 表示固定长度的二进制数据,最多存储8000个字符 | |
| varbinary(n) | byte[] | 表示可变长度的二进制数据,最多存储8000个字符 | ||
| varbinary(max) | byte[] | 表示可变长度的二进制数据,最多存储2GB | 【常用】,一般用来存储压缩后的数据。 | |
| image | byte[] | 表示可变长度的二进制数据,最多存储2GB | ||
| 标记 | timestamp | N/A | 时间戳,该数据类型在每一个表中是唯一的!当表中的一个记录更改时,该记录的timestamp字段会自动更新 | |
| uniqueidentifier | Guid | 存储全局标识符 (GUID) | 【常用】,一般用来表示主键,唯一标识符。 | |
| … … |
参考文章:
http://www.cnblogs.com/mcgrady/p/3840812.html
http://blog.sina.com.cn/s/blog_49998558010009jy.html
http://www.w3school.com.cn/sql/sql_datatypes.asp
http://www.studyofnet.com/news/214.html
为更好地设计数据库,重新整理sql server数据类型的更多相关文章
- 整理sql server数据类型
我们在平常开发过程中,在设计数据的时候,经常碰到数据类型选择的问题,为了更快,更合适地选择正确的数据类型,所以在这里做个总结. 分类 sql server 数据类型 c# 数据类型 描述 应用场景 字 ...
- 数据库技术丛书:SQL Server 2016 从入门到实战(视频教学版) PDF
1:书籍下载方式: SQL Server2016从入门到实战 PDF 下载 链接:https://pan.baidu.com/s/1sWZjdud4RosPyg8sUBaqsQ 密码:8z7w 学习 ...
- Access数据库导入到SQL Server 2005 Express中
安装好SQL Server 2005 Express后,再安装SQL Server Management Studio Express CTP就可以很方便的使用控制台进行数据库的管理.但SQL Ser ...
- ActiveMQ 消息持久化到数据库(Mysql、SQL Server、Oracle、DB2等)
ActiveMQ具体就不介绍了,直接介绍如何讲ActiveMQ持久化到本地数据库,以SQL Server 2008 R2为例1.下载ActiveMQ后直接解压,我下载的是apache-activemq ...
- 数据库-如何创建SQL Server身份验证用户
1.简介 默认安装SQL Server数据库后,SQL Server通过工具SQL Server Management Studio(SSMS)采用“Windows身份验证”方式登录,需要设置相应用户 ...
- 【SQL Server高可用性】数据库复制:SQL Server 2008R2中通过数据库复制,把A表的数据复制到B表
原文:[SQL Server高可用性]数据库复制:SQL Server 2008R2中通过数据库复制,把A表的数据复制到B表 经常在论坛中看到有人问数据同步的技术,如果只是同步少量的表,那么可以考虑使 ...
- MySQL数据库导入到SQL Server
EXEC master.dbo.sp_addlinkedserver @server = N'MYSQL2', @srvproduct=N'mySQL', @provider=N'MSDASQL', ...
- [转]oracle设计数据库应选择正确的数据类型
原文地址:http://blog.sina.com.cn/s/blog_5014663501007n40.html 在设计数据库的时候,选择正确的数据类型,往往可以避免很多的问题,正确理解数据库的类型 ...
- 数据库迁移(SQL SERVER导入数据到MySql)
地址:http://blog.csdn.net/jiaohougenyang/article/details/44937801 背景:项目最开始时使用的是SQL Server数据库,业务需求现要将数据 ...
随机推荐
- HDU5795A Simple Nim SG定理
A Simple Nim Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Tota ...
- [OC] 理解Bitcode:一种中间代码
Tip:参考资料 理解Bitcode:一种中间代码 (内容从该博客摘录的.本随笔摘录些简要内容.) App Distribution Guide – App Thinning (iOS, watchO ...
- idea jrebel6 安装,破解
一.Setting中在线安装JRebel插件,install 二.拷贝下载的jrebel.rar解压后 把里面内容覆盖IDEA插件安装目录中此插件目录之下 下载:http://pan.baidu.co ...
- LINQ之路 8: 解释查询(Interpreted Queries)
LINQ提供了两个平行的架构:针对本地对象集合的本地查询(local queries),以及针对远程数据源的解释查询(Interpreted queries). 在讨论LINQ to SQL等具体技术 ...
- Markdown学习和插件介绍
markdown能干啥 亲们github上的项目首页的 内容+样式,都是项目中README.md文件控制的.将md风格的代码,转化成html. 而且markdown语法非常简单,5-10分钟即可学会! ...
- 解决iphone5s,iphone6不能使用luajit及luac的问题
做手游有小段时间了,感觉坤哥给这么多的机会.一直都比较忙项目的事,比较没时间去写点东西做点记录.想想还是写点开发问题记录比较好,可以很简短,也可以很有用. 我们项目采用的cocos2d-x的引擎,之前 ...
- 流媒体测试笔记记录之————解决问题video.js 播放m3u8格式的文件,根据官方的文档添加videojs-contrib-hls也不行的原因解决了
详细代码Github:https://github.com/Tinywan/PHPSharedLibrary/tree/master/Tpl/Html5/VideoJS 想播放hls协议的就是m3u8 ...
- 推荐相关学习 & 典型算法、典型特征、典型推荐系统框架
总的来说,信息爆炸,产生了信息过载.解决的方法主要有两类:检索和推荐.检索是主动的有目的的.意图明确,推荐是非主动的.意图不明确. 推荐方面最经典的,就是协同过滤推荐了.我博客这里有两篇,一篇偏理论, ...
- angular中ng-repeat ng-if 中的变量的值控制器中为什么取不到
这个问题的本质是:v-repeat会产生子scope,这时你在控制器里拿值,相当于父scope里面取子scope的值,因为Angular.js中作用域是向上查找的,所以取不到. 操作过程如下: 相关代 ...
- spa 单页面解决浏览器back front 问题
1.angular router reloadOnSearch:true(default) | false 默认为true,当url的hash发生改变,页面新渲染,component会重新加载(初始 ...