22,207
社区成员
发帖
与我相关
我的任务
分享
declare @1 varchar(10), @2 nvarchar(10)
select @1 = '汉', @2 = N'汉'
select 汉 = @1, gb2312 = convert(varbinary, @1), [unicode/little endian] = convert(varbinary, @2), [unicode/little endian] = convert(varbinary(2),unicode(@2))
/*
汉 gb2312 unicode/little endian unicode/little endian
----- --------- ------------------------ ---------------------
汉 0xBABA 0x496C 0x6C49
*/
/*
varchar的编码与本机的区域语言有关
nvarchar使用UCS-2编码
*/
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。