1 Postgresql不能boolean自动转换成smallint

使用管理员账号运行一下方法。

CREATE OR REPLACE FUNCTION boolean_to_smallint(b boolean) RETURNS smallint AS $$
BEGIN
RETURN (b::boolean)::bool::int;
END;
$$LANGUAGE plpgsql;

CREATE CAST (boolean AS smallint) WITH FUNCTION boolean_to_smallint(boolean) AS implicit;

2 to_date报类型错误

添加::text

select  to_date(createddate::text,'YYYY-MM-DD') from n_url_test;

3 主键自动递增无效

主键这样配置,如果有旧数据可能会报主键重复,我是多点几次,让主键++到正确的主键。

项目的Mysql数据库迁移到Postgresql遇到的坑_多点

4 find_in_set不存在

方法效果相同的写法:

CAST(#{deptId} AS VARCHAR) = ANY(STRING_TO_ARRAY(ancestors, ','))