首页 > 解决方案 > 我们如何在 postgresql 中构建查询以在从其他列中提取时间数据类型为 null 的列值显示为 0 或 null

问题描述

我正在修复如何执行此操作:我有视图 A 和 B。视图 A 在 postgresql 中有列 mark_time(int 数据类型),而视图 B 有 start_time(时间数据类型)。在视图 BI 中,正在从视图 A 中提取 start_time 列的值。逻辑应该是如果 mark_time 有 0 或 Null 值,它应该在视图 B 的 start_time 中显示为 NUll,否则它应该采用通过 to_timestamp 函数传递的 mark_time 值。

谢谢

标签: postgresqltime

解决方案


听上去像

SELECT CASE WHEN coalesce(a.mark_time, 0) = 0
            THEN NULL::timestamptz
            ELSE to_timestamp(a.mark_time)
       END
FROM a;

推荐阅读