黑马程序员技术交流社区
标题:
在SQL数据库中该如何选择类型?
[打印本页]
作者:
甘斌斌
时间:
2013-6-19 07:00
标题:
在SQL数据库中该如何选择类型?
SQL数据库中date、datetime、datetime2(7)、datetimeoffset2(7)分别用于定义什么类型的数据?char(10)、nchar(10)、nvchar(50)表示的数据有什么特点?
还有其他的数据类型各有什么特点?
作者:
许庭洲
时间:
2013-6-19 08:22
date: "yyyy-mm-dd"格式表示的日期值。取值范围:“1000-01-01”到"9999-12-31"
datetime: "yyyy-mm-dd hh:mm:ss"格式表示的日期时间值。取值范围:"1000-01-01 00:00:00"到"9999-12-31 23:59:59"
datetime2(7): 可将 datetime2 视作现有 datetime 类型的扩展,其数据范围更大,默认的小数精度更高;
datetimeoffset2(7): datetime2(n)值复制到 datetimeoffset(n) 值。时区偏移量设置为 +00:0。例如:2013-06-17 12:35:29.1234567 +12:15
char(10): 固定长度字符串, 长度为m
nchar(10): 固定长度国际化字符串,长度为10
nvchar(50): nvchar表示长度可变,而char表示长度一旦确定即不可改变。
作者:
蔡志涛
时间:
2013-6-19 09:06
再补充一点,你可以把char(10),nchar(10),nvchar(50)理解成string 类型
作者:
愛↘轉角
时间:
2013-6-19 09:53
char和nchar是固定长度的字符串类型
varchar和nvarchar是可变长度的字符串类型
例:定义char(6)或nchar(6)存放123 : 在计算机里就是存放了123和3个空格,共6个字节
定义varchar(6)或nvarchar(6)存放123 : 在计算机里就是存放了123,共3个字节
如果希望列中的数据值大小接近一致,请使用char或nchar
如果希望列中的数据值大小显著不同,请使用varchar或nvarchar。
char与nchar,varchar与nvarchar的区别:
nchar,nvarchar都是根据unicode标准所进行的定义,用给定整数代码返回unicode字符。他们把字母和汉字都当作一个字节来处理
举个例子:
用char来存放中国两个字需要至少定义为char(4)
用nchar来存放中国只需要定义为nchar(2)
所以的话,当一个字符串中有多语言时,就用nchar或nvarchar吧
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2