【问题标题】:SELECT not null column from two columns从两列中选择非空列
【发布时间】:2012-11-21 04:06:19
【问题描述】:

我有一个有两列的表,其中一列是NULL,一列不是,我想做的是这样的:

SELECT (column1 OR column2) AS value

但我需要检索不为空的值。我觉得这可能是一个简单的问题,但感谢任何帮助。

【问题讨论】:

    标签: mysql sql null


    【解决方案1】:
    SELECT COALESCE(column1, column2) AS value
    

    SELECT IFNULL(column1, column2) AS value
    

    SELECT CASE WHEN column1 IS NOT NULL THEN column1 ELSE column2 END AS value
    

    SELECT IF(column1 IS NOT NULL, column1, column2) AS value
    

    【讨论】:

    • @Foo_Chow:不仅关于 sql,还关于特定的 mysql 方言。 #2 和 #4 是特定于 mysql 的解决方案。并且 #1 和 #3 可以在大多数 DBMS 中使用。
    【解决方案2】:

    在mysql中,可以使用IFNULL函数。在 SQL Server 中,您可以使用 ISNULL 函数。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-07-10
      • 1970-01-01
      • 2021-09-18
      • 1970-01-01
      相关资源
      最近更新 更多