WEB开发网
开发学院数据库MSSQL Server 数据库查询结果的动态排序(2) 阅读

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

 2007-11-11 04:04:56 来源:WEB开发网   
核心提示: 为了避免出现这种转换错误,我们可以尝试把ShipperID转换成varchar数据类型,数据库查询结果的动态排序(2)(2),采用这种方法之后,nvarchar将作为最高优先级的数据类型被返回,看起来就象指定的列正确地为查询输出提供了排序标准,但这个表只有三个货主,Listing
  为了避免出现这种转换错误,我们可以尝试把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。

上一页  1 2 3 4 5  下一页

Tags:数据库 查询 结果

编辑录入:coldstar [复制链接] [打 印]
赞助商链接