首页 > 开发 > 综合 > 正文

数据库查询结果的动态排序(4)

2024-07-21 02:10:47
字体:
来源:转载
供稿:网友
假设我们把更多的货主加入到表,如listing 4所示(shipperid列有identity属性,sql server自动为该列生成值)。



【listing 4:向shippers表插入一些记录】


insert into shippers values('shipper4', '(111) 222-9999')

insert into shippers values('shipper5', '(111) 222-8888')

insert into shippers values('shipper6', '(111) 222-7777')

insert into shippers values('shipper7', '(111) 222-6666')

insert into shippers values('shipper8', '(111) 222-5555')

insert into shippers values('shipper9', '(111) 222-4444')

insert into shippers values('shipper10', '(111) 222-3333')





  现在调用存储过程,指定shipperid作为排序列:



exec getsortedshippers 'shipperid'





  表一显示了存储过程的输出。shipperid等于10的记录位置错误,因为这个存储过程的排序输出是字符排序,而不是整数排序。按照字符排序时,10排列在2的前面,因为10的开始字符是1。


表一:记录排序错误的查询结果


shipperid companyname phone

1 speedy express (503) 555-9831

10 shipper10 (111) 222-3333

2 united package (503) 555-3199

3 federal shipping (503) 555-9931

4 shipper4 (111) 222-9999

5 shipper5 (111) 222-8888

6 shipper6 (111) 222-7777

7 shipper7 (111) 222-6666

8 shipper8 (111) 222-5555

9 shipper9 (111) 222-4444
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表