代码之家  ›  专栏  ›  技术社区  ›  party-ring

是否可以在coalescesqlserver中使用IF语句

  •  0
  • party-ring  · 技术社区  · 5 年前

    OFFSET (@PageNumber - 1) * COALESCE(@RowsPerPage, IF(@TotalNumberOfRows > 1000, 1000, @TotalNumberOfRows), 0) ROWS
    

    所以如果 @RowsPerPage 尚未设置,则使用 @TotalNumberOfRows 查询返回的。但是,如果 超过1000,我想用1000。

    我得到的错误是:

    关键字“IF”附近的语法不正确。

    0 回复  |  直到 5 年前
        1
  •  0
  •   gotqn user3521065    5 年前

    这是:

    OFFSET (@PageNumber - 1) * COALESCE(@RowsPerPage,IIF(@TotalNumberOfRows > 1000, 1000, @TotalNumberOfRows),0) ROWS
    

    OFFSET (@PageNumber - 1) * COALESCE(@RowsPerPage,CASE WHEN @TotalNumberOfRows > 1000 THEN 1000 ELSE @TotalNumberOfRows END,0) ROWS