char类型的说明
CREATE TABLE [dbo].[CharTest]( [Char] [char](10) NULL, [Varchar] [varchar](10) NULL, [Nchar] [nchar](10) NULL, [Nvarchar] [nvarchar](10) NULL ) insert into dbo.CharTest ( Char, Varchar, Nchar, Nvarchar ) values ( 'aa', -- Char - char(10) 'aa', -- Varchar - varchar(10) N'aa', -- Nchar - nchar(10) N'aa' -- Nvarchar - nvarchar(10) ) --len(参数):可以获取参数的字符个数,与中英文无关 select LEN('aaa') select LEN('中a国') --datalength(参数):可以获取参数所占据的字节数(英文一个字节,中文两个字节) select DATALENGTH('aaa') select DATALENGTH('中国') --char类型的特点:空间一旦分配,就不会再收缩回收,但是如果存储的内容走出指定的空间,那么就会报错--二进制截断的错误 --当你有内容长度变化不大的时候,使用char select LEN(char) from chartest --2 select DATALENGTH(char) from chartest --10 --varchar:空间分配后,如果存储的内容小于指定的空间大小,那么多余的空间会自动回收,但是如果存储的内容走出指定的空间,那么就会报错--二进制截断的错误 如果内容的长度波动比较大,才会考虑使用varchar select LEN(varchar) from chartest --2 select DATALENGTH(varchar) from chartest --2 --nchar: N:Unicode--unique code:唯一编码。每一种类型的字符都占据两个字节。 有中文的时候才会考虑使用unicode select LEN(nchar) from chartest --2 select DATALENGTH(nchar) from chartest --20 --nvarchar: select LEN(nvarchar) from chartest --2 select DATALENGTH(nvarchar) from chartest --4
欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。如果感觉对您有用,请点击推荐。您的支持,是我的动力!