SQL根据一个字段的值在两个字段之间进行选择

标签 sql postgresql null

我正在使用 PostgreSQL 数据库,在表示一些测量值的表中,我有两列:测量值和插值。在第一个中,我有观察(测量),在第二个中,根据附近的值进行插值。每个具有原始值的记录也有一个内插值。但是,有很多记录没有“原始”观察结果 (NULL),因此这些值被插值并存储在第二列中。所以基本上数据库中只有两种情况:

Value  Value  
NULL   Value

当然,如果可用,最好使用第一列的值,因此我需要构建一个查询来从第一列中选​​择数据,如果不可用(NULL),则数据库返回该值来自相关记录的第二列。我不知道如何构建 SQL 查询。

请帮忙。谢谢。

最佳答案

您可以使用 Coalesce :

The COALESCE function returns the first of its arguments that is not null. Null is returned only if all arguments are null.

Select Coalesce( first_value, second_value )
From your_table

如果它不是NULL,这将返回first_value,否则返回second_value

关于SQL根据一个字段的值在两个字段之间进行选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2912386/

相关文章:

javascript - 如何将文本字段中的填充值保存到 Ionic 6/Capacitor 中的 SQLite 数据库?

postgresql - Postgres 位掩码中 "1s"的总数

laravel - 我们如何在 laravel eloquent/query builder 中转换 sql

c++ - 如何用 Qt 插入空值?

java - Java 中具有两次比较的空安全比较器

ios - Swift:模型结构,使用可选与空值初始化

c# - EF4 两个模型一个数据库,可能吗?

java - 从 Java 中创建 SQL 批量更新

mysql - 使用关系数据库跟踪库存随时间和空间的变化

ruby-on-rails - Heroku Rails 应用程序未加载页面