char varchar nchar nvarchar 四者的区别是什么

nchar(n)   

包含     n     个字符的固定长度     Unicode     字符数据。n     的值必须介于     1     与     4,000     之间。存储大小为     n     字节的两倍。nchar     在     SQL-92     中的同义词为     national     char     和     national     character。   

nvarchar(n)   

包含     n     个字符的可变长度     Unicode     字符数据。n     的值必须介于     1     与     4,000     之间。字节的存储大小是所输入字符个数的两倍。所输入的数据字符长度可以为零。nvarchar     在     SQL-92     中的同义词为     national     char     varying     和     national     character     varying。   

注释   

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

如果希望列中所有数据项的大小接近一致,则使用     nchar。   

如果希望列中数据项的大小差异很大,则使用     nvarchar。   

使用     nchar     或     nvarchar     的对象被赋予数据库的默认排序规则,除非使用     COLLATE     子句赋予特定的排序规则。   

SET     ANSI_PADDING     OFF     不适用于     nchar     或     nvarchar。SET     ANSI_PADDING     ON     永远适用于     nchar     和     nvarchar。   

二、char     和     varchar   

    固定长度     (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。   

注释   

    如果没有在数据定义或变量声明语句中指定     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     个字符。   

总结:

   1、 varchar:   

              可变长度的非    Unicode   数据,最长为    8,000    个字符。   

   2、nvarchar:   

              可变长度    Unicode    数据,其最大长度为    4,000    字符。   

   3、char: 

          固定长度的非 Unicode 字符数据,最大长度为 8,000 个字符。 

   4、nchar 

         固定长度的 Unicode 数据,最大长度为 4,000 个字符。 

    5、     char和varchar都是字符串类型的

        用Unicode编码的字符串,结果是字符的整数值
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值