类型区间的输入语法无效:"缺少"

时间:2015-09-23 05:44:51

标签: postgresql select timestamp bigint

我正在使用 PostgreSQL 8.4.4 。我的问题是,我正在计算两个bigint值的小时 - 小时的时差。我正在将这些值转换为时间戳,然后计算差异。我得到了表中存在的值的差异。但对于那些返回select case when exists (SELECT age(to_timestamp(incepted_date), to_timestamp(invoice_pay_date)) from transactions_transactions where id = 4275) then (SELECT age(to_timestamp(incepted_date), to_timestamp(invoice_pay_date)) from transactions_transactions where id = 4275) else 'missing' end 或不在表格中的人,我希望结果为' Missing'。当我在查询中添加它时,我得到了上面的错误。以下是我正在使用的查询:

rake dev:setup

1 个答案:

答案 0 :(得分:0)

您可以使用coalesce()nullif()功能的组合来实现结果,而不是使用下面的CASE-WHEN

SELECT coalesce(nullif(age(to_timestamp(incepted_date), to_timestamp(invoice_pay_date))::TEXT, ''), 'Missing')
FROM transactions_transactions
WHERE id = 4275