帮我看看下面的sql语句 - MS-SQL Server / 基础类
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[Test]
@sort_expression varchar(255)='Id',
@ascending varchar(20) = 'false'
AS
BEGIN
WITH
Found AS
(
select * from tablename
),
Rows AS
(
SELECT ROW_NUMBER() OVER
(
ORDER BY CASE WHEN @ascending = 'true' THEN
CASE @sort_expression
WHEN 'Id' THEN r.id
WHEN 'Name' THEN r.name
--WHEN 'Type' THEN r.type
WHEN 'ExpiryDate'THEN r.expiry_date
END
END ASC,
CASE WHEN @ascending = 'false' THEN
CASE @sort_expression
WHEN 'Id' THEN r.id
WHEN 'Name' THEN r.name
--WHEN 'Type' THEN r.type
WHEN 'ExpiryDate'THEN r.expiry_date
END
END DESC
) AS row_number, r.* from Found r
)
SELECT * from Rows
END
当我运行
exec Test 'id','true'
出错
Error converting data type varchar to float.
应该是在 WHEN 'Name' THEN r.name 这里
name字段类型是nvarchar
请问怎么改
SQL code:
CASE @sort_expression
WHEN 'Id' THEN rtrim(r.id)
WHEN 'Name'
相关问答:
我一个项目,有个插入操作,具体是这样的:
我有进货信息表。在出货时选择相应的进货信息,输入数量,选择部门后,点保存按钮,由于网络延时,点一下没有反映,于是用户就又点一下,导致一次插入了两条记录:
例:
......
今天做了一个存储过程 环境是SQL2000数据库
大致如下
建立临时表
定义员工游标
循环员工(属于1个公司)
......
1。怎样使xp_cmdshell能完整输出超过255个字符的字符串。
2。select 时,检索速度是与from后的 TABLE顺序有关,还是与where条件的顺序有关(TABLE数据多少 )
在系统属性设定里有个选项,可以修改单字段输出字数限制. ......
下面是XML初始文件内容
XML code:
<upd:Update xmlns:lar="http://schemas.microsoft.com/msus/2002/12/LogicalApplicabilityRules" xmlns:cmd="http://schemas.microsoft.com/msus/2002/12/Up ......
求个vb中的sql语句的写法,次sql语句的用法是分页程序
我写的如下:其中A是用来接收每页显示的记录的条数,B是用来接收显示的当前的页面.
sqltext="select top A * from log where id not in(select top ( ......