可以啊!
string strSql = "select top"+GetNum()+"from tableName ......";
或者使用Format
string strSql = string.Format("select top {0} from tableName",GetNum());
其中GetNum()就是返回动态数据的方法!当然也可以是变量!
declare @SQL varchar(100)
declare @row int
set @row=3
set @SQL='select top '+convert(varchar(10),@row)+' * from TableName'
exec(@SQL) 是不是这样?
下面的语句,取前 10条记录数.
DECLARE @n AS BIGINT
SET @n = 10
SELECT
TOP (@n)
ROW_NUMBER() OVER (ORDER BY SUM(SALE_MONEY) DESC) AS NO,
SALE_DATE,
SUM(SALE_MONEY) AS SUM_MONEY
FROM
SALE_REPORT
GROUP BY
SALE_DATE
ORDER BY
SUM(SALE_MONEY) DESC
下面的语句,取前 1.1% 的记录数.
DECLARE @p AS FLOAT
SET @p = 1.1
SELECT
TOP (@p) PERCENT
ROW_NUMBER() OVER (ORDER BY SUM(SALE_MONEY) DESC) AS NO,
SALE_DATE,
SUM(SALE_MONEY) AS SUM_MONEY
FROM
SALE_REPORT
GROUP BY
SALE_DATE
ORDER BY
SUM(SALE_MONEY) DESC
应该没什么问题吧 直接加好了
string sql="select top "+n+" from "