SQL Server存储过程中SELECT语句的ORDER BY子句中的IF语句

Mal*_*chi 6 sql t-sql sql-server

我正在尝试创建一个存储过程,该过程采用一个参数,如果一个列是真正的命令,另一个列是假订单.我该如何实现?

这是我到目前为止所拥有的

CREATE PROCEDURE [dbo].[CLICK10_GetCP]
    @switch AS BIT
AS
    BEGIN
        SELECT
            acct_nbr,
            acct_name
        FROM
            acct
        ORDER BY 

    END
GO
Run Code Online (Sandbox Code Playgroud)

Mr.*_*ith 15

ORDER BY
   CASE WHEN @switch = 0 THEN Field1 END,
   CASE WHEN @Switch = 1 THEN Field2 END
Run Code Online (Sandbox Code Playgroud)

  • 如果每个CASE都有一个THEN子句,则无需担心字段的类型. (2认同)