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

贪吃的猫521

贪吃的猫521

2016-01-29 16:16

数据库查询结果的动态排序(3),数据库查询结果的动态排序(3)
    为了避免出现这种转换错误,我们可以尝试把ShipperID转换成varchar数据类型。采用这种方法之后,nvarchar将作为最高优先级的数据类型被返回。Listing 3显示了修改后的GetSortedShippers存储过程。



【Listing 3:用列名字作为参数,第二次尝试】


ALTER PROC GetSortedShippers

@ColName AS sysname

AS


SELECT *

FROM Shippers

ORDER BY

CASE @ColName

WHEN 'ShipperID'

THEN CAST(ShipperID AS varchar(11))

WHEN 'CompanyName'

THEN CompanyName

WHEN 'Phone'

THEN Phone

ELSE NULL

END





  现在,假设我们再把三个列名字中的任意一个作为参数调用存储过程,输出结果看起来正确。看起来就象指定的列正确地为查询输出提供了排序标准。但这个表只有三个货主,它们的ID分别是1、2、3。

 
展开更多 50%)
分享

猜你喜欢

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

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

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

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

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

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

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

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

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

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

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

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

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

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

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

简单实用轻轻松松组建家庭网络

简单实用轻轻松松组建家庭网络

《胧村正》详细系统剖析+百姬篇BOSS战攻略

《胧村正》详细系统剖析+百姬篇BOSS战攻略
下拉加载更多内容 ↓