SQL Server中 char与varchar  

本文详细介绍了SQL中的两种字符数据类型:固定长度的char与可变长度的varchar。char以固定长度存储,速度快但处理麻烦;varchar按实际长度存储,节省空间但速度稍慢。文章还讨论了它们的默认长度、排序规则及应用场景。
摘要由CSDN通过智能技术生成

固定长度(char)与可变长度(varchar)字符数据类型


char[(n)]
长度为n个字节的固定长度且非Unicode的字符数据。n必须是一个介于1和8,000之间的数值。存储大小为n个字节。char在SQL-92中的同义词为character。


varchar[(n)]
长度为n个字节的可变长度且非Unicode的字符数据。n必须是一个介于1和8,000之间的数值。存储大小为输入数据的字节的实际长度,而不是n个字节。所输入的数据字符长度可以为零。varchar在SQL-92中的同义词为char varying或character varying。

 

由于char是以固定长度的,所以它的速度会比varchar快得多!但程序处理起来要麻烦一点,要用trim之类的函数把两边的空格去掉!

 

注释
如果没有在数据定义或变量声明语句中指定n,则默认长度为1。如果没有使用CAST函数指定n,则默认长度为30。

将为使用char或varchar的对象被指派数据库的默认排序规则,除非用COLLATE子句另外指派了特定的排序规则。该排序规则控制用于存储字符数据的代码页。

支持多语言的站点应考虑使用Unicode nchar或nvarchar数据类型以尽量减少字符转换问题。如果使用char或varchar:

如果希望列中的数据值大小接近一致,请使用char。


如果希望列中的数据值大小显著不同,请使用varchar。
如果执行CREATE TABLE或ALTER TABLE时SET ANSI_PADDING为OFF,则一个定义为NULL的char列将被作为varchar处理。

当排序规则代码页使用双字节字符时,存储大小仍然为n个字节。根据字符串的不同,n个字节的存储大小可能小于n个字符。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值