我正在使用 PostgreSQL 8.4.4 。我正在使用PostgreSQL的age
函数计算两个Unix时间戳之间的时差。我按预期获得输出。我唯一想要的是转换大写的时差。
例如,
select coalesce(nullif(age(to_timestamp(1389078075), to_timestamp(1380703432))::text,''), UPPER('Missing')) FROM transactions_transactions WHERE id = 947
此查询将结果显示为
3 mons 4天22:17:23
但我希望这个输出像
3个月4天22:17:23
注意:我使用它来生成动态报告。所以我从数据库中取出后无法将其转换为UPPERCASE。我希望它在来自数据库本身时,即在查询中处于大写状态。
答案 0 :(得分:2)
应该使用PostgreSQL的upper()
函数
SELECT upper(age(to_timestamp(1389078075), to_timestamp(1380703432))::text)
FROM transactions_transactions WHERE id = 947
根据OP的评论和编辑
select upper(coalesce(nullif(age(to_timestamp(1389078075), to_timestamp(1380703432))::text,''), UPPER('Missing')))