Sql server 动态设置顺序,无需字符串连接

Sql server 动态设置顺序,无需字符串连接,sql-server,node.js,tsql,Sql Server,Node.js,Tsql,我正在使用Express应用程序查询数据库 我的代码是: router.get('/expedientes', function (req, res, next) { request.input('pageSize', sql.Int, parseInt(req.query.page_size)); request.query('SELECT TOP (@pageSize) * FROM expedientes', function (err, result) { if (err

我正在使用Express应用程序查询数据库

我的代码是:

router.get('/expedientes', function (req, res, next) {
  request.input('pageSize', sql.Int, parseInt(req.query.page_size));
  request.query('SELECT TOP (@pageSize) * FROM expedientes', function (err, result) {
    if (err) console.log(err)
    res.send(result.recordset);
  });
});
我想在路线中添加“订单dy”功能。 我试过(运气不好)这个:


我如何在不使用字符串连接的情况下做到这一点?文档不清楚此功能。

您可以使用
案例

SELECT TOP (@pageSize) * 
FROM expedientes 
ORDER BY CASE 
               WHEN @OrderBy = 'col1' AND @orderDir = 'ASC' THEN col1     
               --all columns in THEN part should have the same datatype
               WHEN @OrderBy = 'col2' AND @orderDir = 'ASC' THEN col2
               --  ...
         END,

         CASE 
               WHEN @OrderBy = 'col1' AND @orderDir = 'DESC' THEN col1     
               --should have the same datatype
               WHEN @OrderBy = 'col2' AND @orderDir = 'DESC' THEN col2
               --  ...
         END DESC
--OPTION(RECOMPILE);  -- to avoid expressions in final execution plan

您不能直接通过参数化
订单-因为您不能参数化标识符或关键字。您可以在ORDERBY子句中使用大小写表达式。
SELECT TOP (@pageSize) * 
FROM expedientes 
ORDER BY CASE 
               WHEN @OrderBy = 'col1' AND @orderDir = 'ASC' THEN col1     
               --all columns in THEN part should have the same datatype
               WHEN @OrderBy = 'col2' AND @orderDir = 'ASC' THEN col2
               --  ...
         END,

         CASE 
               WHEN @OrderBy = 'col1' AND @orderDir = 'DESC' THEN col1     
               --should have the same datatype
               WHEN @OrderBy = 'col2' AND @orderDir = 'DESC' THEN col2
               --  ...
         END DESC
--OPTION(RECOMPILE);  -- to avoid expressions in final execution plan