关于我们

质量为本、客户为根、勇于拼搏、务实创新

< 返回新闻公共列表

sql serve中的数据类型(详解)

发布时间:2023-06-26 15:00:08

一、整形数据


(1) int类型:


数据可存储范围: 可以存储-2^31 ~ 2^31-1之间所有的 正负整数,


占用空间: 4个字节(每个int类型数据).


(2) smallint类型:


数据可存储范围:-2^15~ 2^15-1之间所有的 正负整数,


占用空间:2个字节


(3) tinyint类型:


数据可存储范围:0~255之间所有的 正整数,


占用空间:1个字节


(4) bit类型


数据可存储范围:用于存储1、0或NULL(表示空),非常适合用于开关标记.


占用空间:一个字节


二、浮点型数据


(1) real类型


数据可存储范围:-3.40×10^-38~ 3.40×10^38


(可以精确到小数点后的第7位小数)


占用空间:占4个字节


(2) float类型:


数据可存储范围:-1.79×10^-308 ~ 1.79×10^-308


(可精确到第15位小数)


占用空间:占8个字节


三、字符串类型


字符串类型用于存储字符型数据,如字母、数学符号、特殊符号.但是要注意,在使用字符数据时要加" ’ “(单引号),在数据库中,并没有单独的字符类型,字符和字符串都是用单引号括起来,这与在c语言中字符串要用”"(双引号)括起来不同.


(1) char[n];固定长度


数据可存储范围:1~8000


占用空间:占用n个字节


其中,n是自己设定的数字, 用于存储n个字符长度的数据,


  1. 如果没有设置n的值,系统会默认设置为1,即只能存储一个字符.


  1. 如果输入的数据实际长度小于n,系统会自动在其后添加空格来填满设定好的空间.


例如:



  1. 如果输入的数据实际长度大于n,系统则会自动截掉其超出部分



(2) nchar(n) 类型:


存储统一编码字符型数据n(括号里面的n)取值范围是1~4000,用双字节结构来存储每个字符.


n表示Unicode字符,即所有字符都占两个字节,nchar,nvarchar


字符中,英文字符只需要一个字节存储就足够了,但汉字众多,需要两个字节存储,英文与汉字同时存在时容易造成混乱,Unicode字符集就是为了解决字符集这种不兼容的问题而产生的,它所有的字符都用两个字节表示,即英文字符也是用两个字节表示。


(3) varchar[n]类型:可变长度


n取值范围是1~8000


存储的大小是输入数据的实际长度+2个字节,若输入的数据小于n,系统不会在后面添加空格.


(4) text:用于存储大量文本数据


数据可存储范围:理论上是可以存储1~2^31-1个字节,在实际编程中应根据具体需要而定.


思考?


那么为什么不都用可变长字符串 varchar类型呢?这样不是更方便的吗?可以节省存储空间.


其实char类型有char类型的优点,char的存取速度还是要比varchar要快得多,方便程序的存储与查找;但是char也为此付出的是空间的代价,因为其长度固定,所以会占据多余的空间,可谓是以空间换取时间效率.。varchar则刚好相反,以时间换空间.。


四、日期和时间数据类型


(1) date类型: 只用来存储日期.


是sql server2008新引进的数据类型,


存储格式:“YYYY-MM-DD”


占用空间:占用三个字节


数据可存储范围:0001-01-01~9999-12-31


(2) time类型 :只用来存储时间


存储格式:“hh:mm:ss”


占用空间:3~5个字节


数据可存储范围:00:00:00:0000000(7个0)~23:59:59.9999 999(7个0)


(3) datatime:用于存取日期和时间的结合体


存储格式:“YYYY-MM-DD hh:mm:ss[.nnnnnnn]”(7个n)


占用空间:8个字节


数据可存储范围:1753-01-01~9999-12-31


(4) smalldatetime类型:


范围比datatime要小,且精度为分钟


数据可存储范围:1900-1-1~2079-6-6


占用空间:四个字节


五. 货币数据类型


货币数据类型用于存储币值,在使用数据类型的时候,应在数据前加上货币符号,比如:¥100.23或$66.66


(1) money:


是一个有4位小数的decimal值


数据可存储范围:-2^63~ 2^63-1


占用空间:8个字节


(2) smallmoney:


与money类型相似,只是范围更小


数据可存储范围:-2^31 ~ 2^31-1


占用空间:4个字节


/template/Home/leiyu/PC/Static