【问题标题】:SQL: where [columnName] = CASE WHEN (condition) THEN NULL ELSE [columnName] ENDSQL: where [column Name] = CASE WHEN (条件) THEN NULL ELSE [column Name] END
【发布时间】:2018-06-25 15:43:51
【问题描述】:

想要在 Sybase 中运行查询以执行以下操作:

当条件为真时,只选择 columnName 为空的记录,否则,任何其他。但是,我们知道要比较NULL,“=NULL”是不对的,我们应该用“IS NULL”来代替。

那么如何将“IS NULL”集成到查询中?

select * from tableName
where columnName = CASE WHEN (condition) THEN NULL ELSE columnName END

【问题讨论】:

    标签: sql null case sybase


    【解决方案1】:

    您可以尝试这个不使用 CASE 的替代查询:

    select * from tableName
    where ((condition) AND columnName IS NULL) Or (Not (condition))
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-11-30
      • 2011-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-10-16
      • 2022-10-18
      • 1970-01-01
      • 2017-06-14
      相关资源
      最近更新 更多