代码之家  ›  专栏  ›  技术社区  ›  Les

Transact-SQL:选择布尔表达式

  •  4
  • Les  · 技术社区  · 16 年前

    查询:

    SELECT TOP 1 ReportInvoked , EmailSent
      FROM tblReportInvoker 
     WHERE WebUserId = 12345
    

    这给了我两个比特值。我真正想要的是一个标量结果,它是这两个值的逻辑和。这可能吗?这看起来很简单,但我找不到一个有效的语法。

    编辑:当然,我聪明的计划中的缺陷是,如果两个进程都失败,那么它将是真的,因此修改了查询:

    SELECT TOP 1 (ReportInvoked & EmailSent) & (1 & ReportInvoked) AS 'ReportSent'
    FROM tblReportInvoker 
    WHERE WebUserId = 12345
    
    1 回复  |  直到 16 年前
        1
  •  7
  •   Joel Coehoorn    16 年前
    SELECT TOP 1 ReportInvoked & EmailSent AS ReportSent FROM tblReportInvoker WHERE WebUserId = 12345
    

    Bitwise AND operator in Transact-SQL