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

分类 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怎么处理数据库中日期类型

    问题描述:在数据库里存储时间的时候明明显示的是类如2016-12-22的形式,读取出来后却变成了大概是这样的:Fri May 17 2016 14:12:33 GMT+0800 (中国标准时间) 处理 ...

  2. angular源码阅读3:真的,依赖注入的原理

    前面已经提到了: 如何注册一个module. 如何获取一个module. injector与module以及provider的关系. 那么已经剩下最后一部分了,就是关于依赖是如何被注入的. 且看下面这 ...

  3. xcode相关配置

    Xcode将全部供应配置文件(包括用户手动下载安装的和Xcode自动创建的Team Provisioning Profile)放在目录~/Library/MobileDevice/Provisioni ...

  4. Microsoft Web Platform Installer 5.0

    Microsoft Web Platform Installer 5.0 Web 平台安装器 https://www.microsoft.com/web/downloads/platform.aspx

  5. Redis使用系列目录(一)

    环境介绍 Redis 安装 Redis配置文件详解 Redis主从复制搭建 Redis集群环境搭建 Redis高可用

  6. ximalaya

  7. django部署

    部署教程 阿里云django部署教程 注意备份Apache2的siteconf文件 细节 环境迁移 如果是修改了注意些requirement文件

  8. CentOS 6.5 yum安装配置lnmp服务器(Nginx+PHP+MySQL)

    以下全部转载于  http://blog.csdn.net/lane_l/article/details/20235909 本人于今晚按照该文章使用centos 6.7 64bit安装成功,做个备份, ...

  9. RDLC 子报表

    1.RDLC 设计页面,拖入table或者矩形 2.右击表格或者矩形单元格,插入--子报表 3.输入名称和将此报表用作子报表 名称:显示在设计页面上的,仅作观看作用 将此报表用作子报表:填写目录下的需 ...

  10. Android单例线程池

    package com.jredu.schooltong.manager; import java.util.concurrent.ExecutorService;import java.util.c ...