本篇参考书籍《 数据库原理及应用–SQL Server 2012》
数据可存储范围: 可以存储-2^31 ~ 2^31-1之间所有的 正负整数,
占用空间: 4个字节(每个int类型数据).
数据可存储范围:-2^15~ 2^15-1之间所有的 正负整数,
占用空间:2个字节
数据可存储范围:0~255之间所有的 正整数,
占用空间:1个字节
数据可存储范围:用于存储1、0或NULL(表示空),非常适合用于开关标记.
占用空间:一个字节
数据可存储范围:-3.40×10^-38~ 3.40×10^38
(可以精确到小数点后的第7位小数)
占用空间:占4个字节
数据可存储范围:-1.79×10^-308 ~ 1.79×10^-308
(可精确到第15位小数)
占用空间:占8个字节
字符串类型用于存储字符型数据,如字母、数学符号、特殊符号.但是要注意,在使用字符数据时要加" ’ “(单引号),在数据库中,并没有单独的字符类型,字符和字符串都是用单引号括起来,这与在c语言中字符串要用”"(双引号)括起来不同.
数据可存储范围:1~8000
占用空间:占用n个字节
其中,n是自己设定的数字, 用于存储n个字符长度的数据,
如果没有设置n的值,系统会默认设置为1,即只能存储一个字符.
存储统一编码字符型数据n(括号里面的n)取值范围是1~4000,用双字节结构来存储每个字符.
n表示Unicode字符,即所有字符都占两个字节,nchar,nvarchar
字符中,英文字符只需要一个字节存储就足够了,但汉字众多,需要两个字节存储,英文与汉字同时存在时容易造成混乱,Unicode字符集就是为了解决字符集这种不兼容的问题而产生的,它所有的字符都用两个字节表示,即英文字符也是用两个字节表示。
n取值范围是1~8000
存储的大小是输入数据的实际长度+2个字节,若输入的数据小于n,系统不会在后面添加空格.
数据可存储范围:理论上是可以存储1~2^31-1个字节,在实际编程中应根据具体需要而定.
思考?
那么为什么不都用可变长字符串 varchar类型呢?这样不是更方便的吗?可以节省存储空间.
其实char类型有char类型的优点,char的存取速度还是要比varchar要快得多,方便程序的存储与查找;但是char也为此付出的是空间的代价,因为其长度固定,所以会占据多余的空间,可谓是以空间换取时间效率.。varchar则刚好相反,以时间换空间.。
是sql server2008新引进的数据类型,
存储格式:“YYYY-MM-DD”
占用空间:占用三个字节
数据可存储范围:0001-01-01~9999-12-31
存储格式:“hh:mm:ss”
占用空间:3~5个字节
数据可存储范围:00:00:00:0000000(7个0)~23:59:59.9999 999(7个0)
存储格式:“YYYY-MM-DD hh:mm:ss[.nnnnnnn]”(7个n)
占用空间:8个字节
数据可存储范围:1753-01-01~9999-12-31
范围比datatime要小,且精度为分钟
数据可存储范围:1900-1-1~2079-6-6
占用空间:四个字节
货币数据类型用于存储币值,在使用数据类型的时候,应在数据前加上货币符号,比如:¥100.23或$66.66
是一个有4位小数的decimal值
数据可存储范围:-2^63~ 2^63-1
占用空间:8个字节
与money类型相似,只是范围更小
数据可存储范围:-2^31 ~ 2^31-1
占用空间:4个字节