代码之家  ›  专栏  ›  技术社区  ›  Weihui Guo vmax1909

sql:where[columnname]=case when(condition)then null否则[columnname]结束

  •  0
  • Weihui Guo vmax1909  · 技术社区  · 6 年前

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

    当条件为true时,仅选择columnname为空的记录,否则,选择任何其他记录。但是,我们知道要比较null,“=null”是不对的,我们应该使用“is null”代替。

    那么如何将“is null”集成到查询中呢?

    select * from tableName
    where columnName = CASE WHEN (condition) THEN NULL ELSE columnName END
    
    1 回复  |  直到 6 年前
        1
  •  3
  •   Ctznkane525    6 年前

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

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