数据库由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

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐