SQL SERVER的字段类型说明

SQL SERVER提供的说明。

bit:0或1的整型数字 
int:从-2^31(-2,147,483,648)到2^31(2,147,483,647)的整型数字 
smallint:从-2^15(-32,768)到2^15(32,767)的整型数字 
tinyint:从0到255的整型数字

decimal:从-10^38到10^38-1的定精度与有效位数的数字 
numeric:decimal的同义词

money:从-2^63(-922,337,203,685,477.5808)到2^63-1(922,337,203,685,477.5807)的货币数据,最小货币单位千分之十 
smallmoney:从-214,748.3648到214,748.3647的货币数据,最小货币单位千分之十

float:从-1.79E+308到1.79E+308可变精度的数字 
real:从-3.04E+38到3.04E+38可变精度的数字

datetime:从1753年1月1日到9999年12日31的日期和时间数据,最小时间单位为百分之三秒或3.33毫秒 
smalldatetime:从1900年1月1日到2079年6月6日的日期和时间数据,最小时间单位为分钟

timestamp:时间戳,一个数据库宽度的唯一数字 
uniqueidentifier:全球唯一标识符GUID

char:定长非Unicode的字符型数据,最大长度为8000 
varchar:变长非Unicode的字符型数据,最大长度为8000 
text:变长非Unicode的字符型数据,最大长度为2^31-1(2G)

nchar:定长Unicode的字符型数据,最大长度为8000 
nvarchar:变长Unicode的字符型数据,最大长度为8000 
ntext:变长Unicode的字符型数据,最大长度为2^31-1(2G)

binary:定长二进制数据,最大长度为8000 
varbinary:变长二进制数据,最大长度为8000 
image:变长二进制数据,最大长度为2^31-1(2G)

  简 介

  MS的SQL Server主要是由五种常常用到的字段,字符型,文本型,数值型,逻辑型,和日期型!许多朋友苦于在一些BBS中ACCESS转换成SQL后字段类型不匹配而不知所措,下面我们就来介绍一些这五种数据类型各自的特性吧!

  正 文

  [1] 字符型数据Varchar,Char型

  程序当中当大家需要存储比较短的字符串信息时我们就要用到字符型数据了,SQL中的字符型数据又有两种型!VARCHAR和CHAR型,正两种类型的数据差别是很细微的,但是却很重要!

  比如当你像一个长度为40个字符的VARCHAR型字段中输入一个长度为4的字符串TOL8后你再取出的数据的时候,数据的长度为4个字符,而你把VARCHAR换成CHAR型,你取出的将会是40各字符长度的数据,字符串后会被附加多余的空格,比如TOL8只有4个字符那么从CHAR中取出的数据是TOL8加上36个空格!具体的程序设计中我个人还是推荐VARCHAR类型,因为从一些参考资料中我发现上面说VARCHAR型要比CHAR占用更少的硬盘很内存!

  VARCHAR存储最长255个字符,超过这个长度就要用到我们下面将要讲到的文本型数据了。

  [2] 文本型数据Text

  文本型数据中你可以存储超过20亿个字符串,怎么样,这个够大了吧?但是也不是任何时候都是和使用文本型数据,因为他非常占空间,也非常消耗服务器,随处乱用后果不堪设想!因为即使你像一个文本型字段输入了一个空值他都会占用2K的空间!而当这时除了删除该数据没有别的办法收回空间!

  [3] 数据型数据 Int,Tinying,Numeric

  SQL支持多种不同的数据类型,让你可以存储整数,小数,和钱数!

  INT(整型数据)表示范围是从-2,147,483,647 到 2,147,483,647 的整数

  如果你的数值没有那么长,为了节省内存空间你可以使用SMALLINT它的表示范围是-32768到32768整数!二者的使用方法完全相同!

  如果你还想再节省空间你可以选择使用TINYINT他只能存储0到255的整数注意TINYINT不能存储负数,一个TINYINT占用一个字节,而一个INT型数据占用4个字节!

  [4] 数据型数据 Bit

  网页复选框搜集信息存入数据库,是BIT型最常见的用法了!他只有两个值:0或1

  [5] 数据型数据 Datetime,Samlldatetime

  DATETIME的存储范围是从1753年1月1日第一毫秒到9999年12月31日最后一毫秒,如果你不需要覆盖面这么大的日期范围,可选使用SMALLDATETIME型它的存储范围是从1900年1月1日到2079年6月6日,但是只能精确到秒!

  [6] 特殊型数据 Cursor

  这里包括些2进制数据类型和一些其他不常用到的数据类型,我就不再多说了!

(0)

相关推荐

  • SQL SERVER的字段类型说明

    SQL SERVER提供的说明. bit:0或1的整型数字  int:从-2^31(-2,147,483,648)到2^31(2,147,483,647)的整型数字  smallint:从-2^15(-32,768)到2^15(32,767)的整型数字  tinyint:从0到255的整型数字 decimal:从-10^38到10^38-1的定精度与有效位数的数字  numeric:decimal的同义词 money:从-2^63(-922,337,203,685,477.5808)到2^63-

  • 关于SQL Server中bit类型字段增删查改的一些事

    前言 本文主要给大家介绍了关于SQL Server中bit类型字段增删查改的一些事,话说BIT类型字段之前,先看"诡异"的一幕,执行Update成功,但是查询出来的结果依然是1,而不是Update的2 当别人问起我来的时候,本人当时也是处于懵逼状态的,后面联想具体的业务突然想起来这个字段是bit类型的 如果把这个现象跟BIT类型字段连续起来就不觉得奇怪了. 废话不多,直接上代码看结果就好了. 先建一个测试表 CREATE TABLE TestBIT ( Id INT IDENTITY(

  • SQL SERVER的数据类型

    1.SQL SERVER的数据类型 数据类弄是数据的一种属性,表示数据所表示信息的类型.任何一种计算机语言都定义了自己的数据类型.当然,不同的程序语言都具有不同的特点,所定义的数据类型的各类和名称都或多或少有些不同.SQLServer 提供了 25 种数据类型: Binary [(n)] Varbinary [(n)] Char [(n)] Varchar[(n)] Nchar[(n)] Nvarchar[(n)] Datetime Smalldatetime Decimal[(p[,s])]

  • 浅谈SQL SERVER数据库口令的脆弱性

    跟踪了一下SQL SERVER数据库服务器的登录过程,发现口令计算是非常脆弱的,SQL SERVER数据库的口令脆弱体现两方面: 1.网络登陆时候的口令加密算法 2.数据库存储的口令加密算法. 下面就分别讲述: 1.网络登陆时候的口令加密算法 SQL SERVER网络加密的口令一直都非常脆弱,网上有很多写出来的对照表,但是都没有具体的算法处理,实际上跟踪一下SQL SERVER的登陆过程,就很容易获取其解密的算法:好吧,我们还是演示一下汇编流程: 登录类型的TDS包跳转到4126a4处执行 00

  • SQL Server口令 sql server安全性第1/2页

    如果你细心跟踪一下SQL Server数据库服务器的登录过程,你会发现口令计算其实是非常脆弱的,SQL Server数据库的口令脆弱体现两方面:1.网络登陆时候的口令加密算法 2.数据库存储的口令加密算法. 下面就分别讲述:  1.网络登陆时候的口令加密算法  SQL Server网络加密的口令一直都非常脆弱,网上有很多写出来的对照表,但是都没有具体的算法处理,实际上跟踪一下SQL Server的登陆过程,就很容易获取其解密的算法:好吧,我们还是演示一下汇编流程: 登录类型的TDS包跳转到412

  • PostgreSQL 中字段类型varchar的用法

    PostgreSql数据库中varchar类型与sql server中字段用法有差别,PostgreSql中如果字段设置为varchar类型长度为10,则无论存字母.数字或其它符号,长度最大为10个,也就是字母和汉字占的位置是一样的. Sql server中如设置字段类型为nvarchar类型长度为10,则存汉字最大为5个,字母为10个,字母加汉字混合时,字母和汉字占的长度一样 补充:Postgresql 数据库 varchar()字符占用多少字节 如下所示: create table tmp1

  • SQL Server中的XML数据类型详解

    目录 一.创建测试数据,指定字段数据类型为XML 1.创建表 2.插入测试数据 3.插入XML文件数据 4.创建索引 二.查询XML数据 1.query(XPath条件):返回xml 类型的节点内容 2.value(XPath条件,数据类型):返回标量值 3.exist(XPath条件):返回是否存在 4.nodes(XPath条件):返回由符合条件的节点组成的多行一列的结果表 三.modify():修改XML修改XML字段 1.modify(insert)增加节点 2.modify(delet

  • N字符在Sql Server字段类型中的重要性概述

    Unicode字符集就是为了解决字符集这种不兼容的问题而产生的,它所有的字符都用两个字节表示,即英文字符也是用两个字节表示 如果还为了这个纠结,就直接看看后面的解说,做决定吧. 一般如果用到中文或者其它特殊字符,我就会使用n开头的类型,否则的话直接使用var开头的. sql server中的varchar和Nvarchar有什么区别? 答: varchar(n) 长度为 n 个字节的可变长度且非 Unicode 的字符数据.n 必须是一个介于 1 和 8,000 之间的数值.存储大小为输入数据的

  • sql server建表时设置ID字段自增的简单方法

    打开要设置的数据库表,点击要设置的字段,比如id,这时下方会出现id的列属性表 列属性中,通过设置"标识规范"的属性可以设置字段自增,从下图上看,"是标识"的值是否,说明id还不是自增字段 能够设置ID字段自增的字段必须是可自增的,比如int,bigint类型,而varchar类型是不可自增的.比如查看name的列属性时,可以看到"是标识"是否且不可更改. 点击"标识规范",展开后,点击"是标识"会出现下拉

  • SQL Server中修改“用户自定义表类型”问题的分析与方法

    前言 SQL Server开发过程中,为了传入数据集类型的变量(比如接受C#中的DataTable类型变量),需要定义"用户自定义表类型",通过"用户自定义表类型"可以接收二维数据集作为参数,在需要修改"用户自定义表类型"的时候,增加字段,删除字段,修改字段类型等,它没有像表一样的alter table语法来进行修改. 只能通过删除重建来实现,但是在删除"用户自定义表类型"的时候会提示有对象引用它(某些存储过程用到了这个&qu

随机推荐