瀚高数据库 问题: ERROR: operator does not exist: character varying = integer
错误信息:
ERROR: operator does not exist: character varying = integer建议:No operator matches the given name and argument types. You might need to add explicit type casts.位置:1073at
增加瀚高数据库转换函数解决该问题:
登录修改库
- sysdba登录
psql -U sysdba
- 进入配置数据库
\c ssc_mydatabase
方案一
- 增加转换
create cast(varchar as integer) with inout as assignment;
- 删除转换
-- 删除转换
drop cast(varchar as integer)
方案二
- 增加转换函数
-- 创建准换函数
create or replace function cast_varchar_to_integer(varchar) returns integer as
$$select nullif($1,'')::integer ;
$$ immutable strict parallel safe language sql;
- 创建转换
-- 创建转换
create cast(varchar as integer) with function cast_varchar_to_integer(varchar) as implicit;
注意
- 方案一 不好用时,若使用方案二先删除之前的转换:
drop cast(varchar as integer)
。- 方案二 执行1和2。