当我在时间戳字段中有 NULL 时,我需要显示空白,我的代码如下所示:
SELECT
CASE WHEN exp_date IS NULL THEN CAST(' ' AS TIMESTAMP)
ELSE exp_date END
但它抛出了一个错误。我不想显示空。任何建议不胜感激。
SELECT COALESCE(exp_date::TEXT,'')
FROM ...
COALESCE 函数将返回第一个非 null 的值,在本例中为空白。
不能将空格强制转换为时间戳。"显示"实际上取决于显示数据的应用程序。我使用 PGAdmin 3,默认情况下,它将 NULL 显示为"空白",尽管您可以将其配置为显示其他内容,例如 NULL 的 <NULL>
。
最好的解决方案是更新代码,以便在字段为 NULL 时显示空白或任何您想要的内容。否则,您可以将时间戳转换为 TEXT,以便您可以从 PG 端显示您想要的任何内容:
SELECT CASE WHEN exp_date IS NULL THEN ' ' ELSE exp_date::TEXT END