Oracle或SQL Server2005以上的版本
row_number排序函数
SQL2000可用,变量赋值
--> --> (Roy)生成测试数据
declare @T table([id] nvarchar(1),[num] int,[type] nvarchar(10))
Insert @T
select N'a',12,N'name' union all
select N'c',21,N'nate' union all
select N'd',25,N'adfa' union all
select N'f',25,N'ssdf' union all
select N'g',58,N'name'
declare @type nvarchar(10),@i int,@s nvarchar(200)
set @type='Name'
select @i=-1,@s=''
Select @i=@i+1,@s=@s+case when type=@type then RTRIM(@i)+' ' else '' end from @T
print @s
(5 row(s) affected)
0 4
前者是非unicode型,存储字符按1个算(内部空间存储占1字节),存储汉字的话按2个算,
就是可以存10个字符或者5个汉字
后者是unicode型,存储什么都是按1个算(内部空间存储占2字节),
就是可以存10个字符或10个汉字
varchar(10)与nvarchar(10)就是分别占10个字节和20个字节
varchar(n)
长度为 n 个字节的可变长度且非 Unicode 的字符数据。n 必须是一个介于 1 和 8,000 之间的数值。存储大小为输入数据的字节的实际长度,而不是 n 个字节。
nvarchar(n)
包含 n 个字符的可变长度 Unicode 字符数据。n 的值必须介于 1 与 4,000 之间。字节的存储大小是所输入字符个数的两倍。
两字段分别有字段值:我和coffee
那么varchar字段占2×2+6=10个字节的存储空间,而nvarchar字段占8×2=16个字节的存储空间。
如字段值只是英文可选择varchar,而字段值存在较多的双字节(中文、韩文等)字符时用nvarchar
扩展资料:
参考资料:
这个提问有点问题哦,简单的讲是这样的 1、 char(n),varchar(n)是长度为 n 个字节的可变长度且非 Unicode 的字符数据。n 必须是一个介于 1 和 8,000 之间的数值。存储大小为输入数据的字节的实际长度,而不是 n 个字节。2、nchar(n),nvarchar(n)
包含 n 个字符的可变长度 Unicode 字符数据。n 的值必须介于 1 与 4,000 之间。字节的存储大小是所输入字符个数的两倍。
举个例子,如果定义varchar(10) 这里可以最多可以存放10个英文字母和5个中文汉字
nvarchar(10) 这里可以最多可以存放10个英文字母和10个中文汉字
以上就是关于如何在数据库的查询结果中返回行号全部的内容,包括:如何在数据库的查询结果中返回行号、varchar(10)与nvarchar(10)有什么区别,本别可以输入多少个字母,汉字,数字、数据库类型,varchar和nvarchar的区别等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)