
2000数据库的查询中top关键字后面怎么跟计算公式
如selecttop3-2+1*fromasptest可以这样写吗,如果不行该怎么写呢,因为我的这个3、和2是传进来的值,所以要这样写,可是会报错,那该怎么改呢,急急急...
如 select top 3-2+1 * from asptest可以这样写吗,如果不行该怎么写呢,因为我的这个3、和2 是传进来的值,所以要这样写,可是会报错,那该怎么改呢,急急急
展开
2个回答
展开全部
SQL Server 2000不支持TOP后面跟表达式,只能是常量。
如果TOP后面的值是可变的,可以使用动态SQL实现。
如果TOP后面的值是可变的,可以使用动态SQL实现。
更多追问追答
追问
我知道,可是我不知道怎么动态实现,我语句是在.xml里面写的,用的是ibatis框架
追答
不熟ibatis,如果你能够将 3-2+1 的计算结果存入.xml的SQL语句里,就没有问题。
本回答被网友采纳
2012-12-03
展开全部
select top (3-2+1) * from asptest
尝试加一个 () 看看
我这里 SQL Server 2008 下面, 不加括号出错, 加了括号是可以的。
尝试加一个 () 看看
我这里 SQL Server 2008 下面, 不加括号出错, 加了括号是可以的。
更多追问追答
追问
select top 3-2+1 Id from asptest 如果我这样就没错,可是把Id改成*就报错,不知道怎么办,括号的办法我试过了,没用
追答
开了个虚拟机, 装了个 SQL 2000 测试了一下, 确实, SQL 2000 没办法
select top (3-2+1) * from asptest
至于 select top 3-2+1 Id from asptest 不出错的原因。
是 SQL 解析的时候。
是 select top 3 -2+1 id from asptest;
的机制来处理的。
top 3 嘛。 是常量, 不出错的。
本回答被提问者采纳
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询