【问题标题】:Function alias for Postgres default functionPostgres 默认函数的函数别名
【发布时间】:2016-10-28 08:08:47
【问题描述】:

当结果为空时,我总是使用 NVL() 来分配默认值。

但是在 PostgreSql 中只有 COALESCE()。

我可以给 COALESCE 函数一个别名,以便它使用 NVL 执行吗?

或者我可以以某种方式复制函数声明吗?

【问题讨论】:

  • 使用 coalesce() 有什么问题@它是 SQL 标准的一部分,Oracle 也支持。
  • @a_horse_with_no_name 听起来可能很陈词滥调,但在将此函数应用于数十列的情况下保存几个字母可能很重要。

标签: postgresql


【解决方案1】:

你可以使用这个包装器:

create or replace function nvl (anyelement, anyelement)
returns anyelement language sql as $$
    select coalesce($1, $2)
$$;

另见Oracle Differences between NVL and Coalesce

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-12-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-10-01
  • 2023-03-17
  • 2016-07-23
相关资源
最近更新 更多