如何在数据库的查询结果中返回行号

如何在数据库的查询结果中返回行号,第1张

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

扩展资料:

Microsoft Jet 数据库引擎 SQL 数据类型 由13个基本数据类型组成,它们是由 Microsoft Jet 数据库引擎和几个验证过的有效同义字定义的。常见的有:整形,单精度,双精度,可变长度字符,固定长度字符,长型,日期等等。

参考资料:

SQL数据类型

这个提问有点问题哦,简单的讲是这样的 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的区别等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9531516.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-29
下一篇 2023-04-29

发表评论

登录后才能评论

评论列表(0条)

保存