sql - 如果一列为空,则在 SELECT 上选择不同的列

标签 sql postgresql

我有一个包含两列的表(好吧,两列与这个问题有关)- pub_date 和 update_date。 pub_date 总是有一个日期,而 update_date 是空的,除非该行被更新。有什么方法可以使用 SELECT 调用返回 update_date,但如果 update_date 为空则回退到 pub_date?

最佳答案

使用 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(update_date,pub_date),update_date,pub_date
from yourtable 

关于sql - 如果一列为空,则在 SELECT 上选择不同的列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28686868/

相关文章:

php - 通过 PHP 以当前日期命名数据库表

sql - 在 SQL 查询中将结果集组合到数组中

sql - 如何按另一个表列排序

ruby-on-rails - 业务检查是否开放

node.js - 如何在 node.js 域中添加全局发射器?

SQL:如何检查列中的值是否等于行中其他列的任意组合的总和

sql - 容纳数据透视表中的行总和

sql - 如何在 Rails 控制台中查询表

sql - PostgreSQL 反向 LIKE

postgresql - 通过循环生成[0, 1001]中不重复的随机数的随机数