写一个 coalesce函数的案例
时间: 2024-05-13 08:14:04 浏览: 12
好的,下面是一个 coalesce 函数的案例:
```sql
CREATE FUNCTION coalesce(anyelement, VARIADIC anyarray)
RETURNS anyelement
AS $$
BEGIN
FOR i IN 1..array_length($2, 1) LOOP
IF $2[i] IS NOT NULL THEN
RETURN $2[i];
END IF;
END LOOP;
RETURN $1;
END;
$$ LANGUAGE plpgsql;
```
这个函数接受任意数量的参数,并返回第一个非 NULL 的参数值。如果所有参数都是 NULL,则返回第一个参数。
例如,使用以下语句调用 coalesce 函数:
```sql
SELECT coalesce(NULL, 1, 2, NULL, 3);
```
这将返回值 1,因为它是第一个非 NULL 的参数。如果所有参数都是 NULL,则返回 NULL:
```sql
SELECT coalesce(NULL, NULL, NULL);
```
这将返回 NULL。