数据库由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 没有 ifnull()函数。 替换ifnull() 的函数是:COALESCE

PostgreSQL COALESCE 函数

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

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

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

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

示例: COALESCE()

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

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐