我们在平常开发过程中,在设计数据的时候,经常碰到数据类型选择的问题,为了更快,更合适地选择正确的数据类型,所以在这里做个总结。

分类 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数据类型的更多相关文章

  1. 整理sql server数据类型

    我们在平常开发过程中,在设计数据的时候,经常碰到数据类型选择的问题,为了更快,更合适地选择正确的数据类型,所以在这里做个总结. 分类 sql server 数据类型 c# 数据类型 描述 应用场景 字 ...

  2. 数据库技术丛书:SQL Server 2016 从入门到实战(视频教学版) PDF

    1:书籍下载方式: SQL Server2016从入门到实战 PDF 下载  链接:https://pan.baidu.com/s/1sWZjdud4RosPyg8sUBaqsQ 密码:8z7w 学习 ...

  3. Access数据库导入到SQL Server 2005 Express中

    安装好SQL Server 2005 Express后,再安装SQL Server Management Studio Express CTP就可以很方便的使用控制台进行数据库的管理.但SQL Ser ...

  4. ActiveMQ 消息持久化到数据库(Mysql、SQL Server、Oracle、DB2等)

    ActiveMQ具体就不介绍了,直接介绍如何讲ActiveMQ持久化到本地数据库,以SQL Server 2008 R2为例1.下载ActiveMQ后直接解压,我下载的是apache-activemq ...

  5. 数据库-如何创建SQL Server身份验证用户

    1.简介 默认安装SQL Server数据库后,SQL Server通过工具SQL Server Management Studio(SSMS)采用“Windows身份验证”方式登录,需要设置相应用户 ...

  6. 【SQL Server高可用性】数据库复制:SQL Server 2008R2中通过数据库复制,把A表的数据复制到B表

    原文:[SQL Server高可用性]数据库复制:SQL Server 2008R2中通过数据库复制,把A表的数据复制到B表 经常在论坛中看到有人问数据同步的技术,如果只是同步少量的表,那么可以考虑使 ...

  7. MySQL数据库导入到SQL Server

    EXEC master.dbo.sp_addlinkedserver @server = N'MYSQL2', @srvproduct=N'mySQL', @provider=N'MSDASQL', ...

  8. [转]oracle设计数据库应选择正确的数据类型

    原文地址:http://blog.sina.com.cn/s/blog_5014663501007n40.html 在设计数据库的时候,选择正确的数据类型,往往可以避免很多的问题,正确理解数据库的类型 ...

  9. 数据库迁移(SQL SERVER导入数据到MySql)

    地址:http://blog.csdn.net/jiaohougenyang/article/details/44937801 背景:项目最开始时使用的是SQL Server数据库,业务需求现要将数据 ...

随机推荐

  1. 关于node.js杂记

    https://gitlore.com/page/gitlore-git/nodejs/index.html[node.js中文文档] //////    https://gitlore.com/in ...

  2. Spark学习(四) -- Spark作业提交

    标签(空格分隔): Spark 作业提交 先回顾一下WordCount的过程: sc.textFile("README.rd").flatMap(line => line.s ...

  3. [POJ2420]A Star not a Tree?(模拟退火)

    题目链接:http://poj.org/problem?id=2420 求费马点,即到所有其他点总和距离最小的点. 一开始想枚举一个坐标,另一个坐标二分的,但是check的时候还是O(n)的,复杂度相 ...

  4. 如何解决sublime text 2总是在新窗口中打开文件及文件夹

    如何在原窗口打开文件 具体设置:Preferences -> Settings – Default -> 搜索open_files_in_new_window,将其true 改为 fals ...

  5. Redis学习-基础环境介绍(二)

    1.通过VMware安装了Centos6.8系统 2.Reids安装过程,需要GCC环境 »通过下面命令,根据提示直接安装 1 yum install gcc 3.Redis选用的是3.2.4(建议使 ...

  6. TLD目标跟踪算法

    1. 简介 TLD目标跟踪算法是Tracking-Learning-Detection算法的简称.这个视频跟踪算法框架由英国萨里大学的一个捷克籍博士生Zdenek Kalal提出.TLD将传统的视频跟 ...

  7. MyBatis 简介

    MyBatis的前身叫iBatis,本是apache的一个开源项目, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis ...

  8. 内存屏障 & Memory barrier

    Memory Barrier http://www.wowotech.net/kernel_synchronization/memory-barrier.html 这里面讲了Memory Barrie ...

  9. 使用layer.open时content属性传值记录

    最近在做一个后台项目,正好碰上了要使用layer.open,就顺手记录一下,方便以后遇到了有个参考 - 2016/11/7 layer 这个是一个web弹层组件,挺好用的...然后项目框架是SSM.. ...

  10. 如何解决结果由block返回情况下的同步问题(转)

    开发中经常会遇到一种简单的同步问题: 系统在获取资源时,采用了block写法,外部逻辑需要的结果是在block回调中返回的 举个例子: 请求获取通讯录权限的系统弹窗 调用系统方法请求通讯录权限: AB ...