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

分类 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. GDUFE-OJ 1361校庆抽奖 翻转

    Problem Description: 在舞台中央有一个开奖盒,开奖盒有一个按钮,和一个显示屏,每轮抽奖是过程是这样的. 主持人请K个幸运观众上台,编号为1~K,围着开奖盒. 首先开奖盒上随机显示一 ...

  2. MySQL为什么需要一个主键

    主键 表中每一行都应该有可以唯一标识自己的一列(或一组列). 一个顾客可以使用顾客编号列,而订单可以使用订单ID,雇员可以使用雇员ID 或 雇员社会保险号. 主键(primary key) 一列(或一 ...

  3. 【前端】iterable类型的 forEach方法

    看三个例子: a = [ age: 1 , age: 2 ] a.forEach (item) -> item.age = 0 # 有效 console.log a # [ # age: 0 # ...

  4. EXCEL如何提取文字中包含的数字?

    方法1:=IF(ISERROR(FIND("-",A1)),"","-")&MID(SUM(MID(101&A1,2+LAR ...

  5. iOS 10 UserNotifications 使用说明

    本教程以贴代码为主.尽可能直观,少量说明. 注意:XCode8的需要手动开启主target Capabilities中的Push Notification. 关于创建多个target后真机测试的证书问 ...

  6. 什么是原生的javascript

    在www.cocos.com的cocos2d-js的介绍中写道“Cocos2d-JS 是跨全平台的游戏引擎,采用原生JavaScript语言,可发布到包括Web平台,iOS,Android,Windo ...

  7. 不完全解决Android微信HTML5 播放视频的问题(不显示控制条,可交互)

    首先你需要知道以下内容: http://ad.weixin.qq.com/learn/2-3-3--%E9%80%9A%E7%94%A8%E5%BA%93 这是微信为广告商开放的API,我一直认为只有 ...

  8. python pyqt4 ide eric安装

    注意事项 关于python,pyqt的版本 笔者安装的是eric,原来电脑安装的是64位的python,32位的pyqt4,导致系统找不到pyqt,后来更换python版本为32搞定,猜测pyqt的版 ...

  9. Scrum Meeting 11-20151217

    任务安排 姓名 今日任务 明日任务 困难 董元财 网络连接框架优化 请假(数据库) 无 胡亚坤 优化商品搜索界面 请假(数据库) 无 刘猛 请假(参加编译测试) 无 马汉虎 请假(参加编译测试) 无 ...

  10. 零配置文件搭建SpringMVC实践纪录

    本篇记录使用纯java代码搭建SpringMVC工程的实践,只是一个demo.再开始之前先热身下,给出SpringMVC调用流程图,讲解的是一个http request请求到达SpringMVC框架后 ...