将 PostgreSQL 年龄函数输出转换为大写
Convert PostgreSQL age function output to upper case
我正在使用 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 days 22:17:23
但我希望这个输出像
3 MONTHS 4 DAYS 22:17:23
注意:我将其用于动态报告生成目的。所以我无法在从数据库中获取后将其转换为大写。我希望它在来自数据库本身时处于大写状态,即在查询中。
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')))
我正在使用 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 days 22:17:23
但我希望这个输出像
3 MONTHS 4 DAYS 22:17:23
注意:我将其用于动态报告生成目的。所以我无法在从数据库中获取后将其转换为大写。我希望它在来自数据库本身时处于大写状态,即在查询中。
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')))