选择语句中的布尔逻辑

这个问题在这里已经有了答案:

  • 如何在SQL SELECT中执行IF ... THEN? 22个答案
  • 在条件评估过程中,如何从查询中返回布尔值? 4个答案

  • SELECT t.[Key]
          ,t.[Parent_Key]
          ,t.[Parent_Code]
          ,t.[Code]
          ,t.[Desc] 
          ,t.[Point]
          ,CASE WHEN t.[Point] > 2 THEN 1 ELSE  
                CASE WHEN t.[Point] = 1 THEN 0 ELSE NULL END 
           END AS [isChild]
          ,t.[By] 
          ,t.[On]
    FROM [db].[stats] t WHERE t.[Parent_Key]= @tmpParameter
    

    请注意,当t [Point] <1时,[isChild]将为空


    凯斯是你的朋友...

     SELECT Key, Parent_Key, Parent_Code, Code, Desc, point, 
         case when point > 2 then 1 
              when point = 1 then 0 end isChild, 
         [By], [On]
     FROM db.stats  
     WHERE Parent_Key= @tmpParameter
    

    使用case语句:

    SELECT t.[Key]
          ,t.[Parent_Key]
          ,t.[Parent_Code]
          ,t.[Code]
          ,t.[Desc] 
          ,t.[Point]
          ,CASE t.[Point] WHEN 1 THEN FALSE WHEN 2 THEN TRUE END as [isChild]
          ,t.[By] 
          ,t.[On]
    FROM [db].[stats] t WHERE t.[Parent_Key]= @tmpParameter
    
    链接地址: http://www.djcxy.com/p/94341.html

    上一篇: Boolean Logic in Select Statement

    下一篇: Select value if condition in SQL Server