【postgresql】替换 mysql 中的ifnull()

数据库由mysql 迁移到postgresql,程序在执行查询时候报错。

HINT:  No function matches the given name and argument types. You might need to add explicit type casts.
CONTEXT:  referenced column: ifnull

具体SQL:

SELECT  ifnull(phone,'')  FROM c_user

【postgresql】替换 mysql 中的ifnull()_第1张图片

postgresql 没有 ifnull()函数。 替换ifnull() 的函数是:COALESCE

PostgreSQL COALESCE 函数

在 PostgreSQL 中,COALESCE() 函数用于获取指定参数中的第一个非空值,它返回第一个不为空的参数,如果所有参数都是 NULL,它将返回 NULL 值。

它通常用于用默认值替换空值。

COALESCE 函数与 Oracle 中的 SQL 标准函数NVL() 和MySQL 中的IFNULL()函数相同。

用于将列中的空值替换为其他值

示例: COALESCE()

【postgresql】替换 mysql 中的ifnull()_第2张图片

COALESCE 从左到右计算提供的参数列表,直到找到第一个 NOT NULL 参数并将其返回。第一个 NOT NULL 参数之后的剩余参数将不会被计算。

【postgresql】替换 mysql 中的ifnull()_第3张图片

你可能感兴趣的:(postgresql,mysql,数据库)