IF ELSE Statement in SQL

后端 未结 7 590
名媛妹妹
名媛妹妹 2021-01-22 12:10
SELECT S.Id, S.Name, S.Version, S.SoftNo
FROM SOFTWARE S WITH(NOLOCK)
WHERE (IF S.Version = 0 THEN S.Version > 0 ELSE S.Version = @Version)
AND (IF S.SoftNo = 0 THEN          


        
7条回答
  •  耶瑟儿~
    2021-01-22 12:56

    Instead, I came up with this workaround,

    sSQL = @"SELECT S.Id, S.Name, S.Version, S.SoftNo
             FROM SOFTWARE S WITH(NOLOCK)
             WHERE 1 = 1";
    // 1=1 is used just to list everything.
    
    if(pVersion != 0)
    {
         sSQL += " AND S.Version = @Version";
    }
    if(pSoftNo != 0)
    {
         sSQL += " AND S.SoftNo = @SoftNo";
    }
    

    Conclusion, if else part is moved to code side.

提交回复
热议问题