Oracle数据库中convert()函数,在瀚高数据库中如何替换使用?

时间:2022-12-27 17:11:36

瀚高数据库

目录

环境

症状

问题原因

解决方案



环境

系统平台:Microsoft Windows (64-bit) 10

版本:6.0


症状

在 Oracle 中,convert() 函数可以将字符串从一个字符集转换为另一个字符集。



问题原因

在瀚高数据库中没有convert()函数。


解决方案

通过在瀚高数据库中编写兼容函数使用:

create or replace function convert(param1 varchar,param2 varchar) returns int
as $$
DECLARE
t1 boolean;
begin
if(param2 = 'signed')
THEN
select param1 ~ '^([0-9]+[.]?[0-9]*|[.][0-9]+)$' into t1;
--判断是否有中文
if(t1=FALSE )
then
--是中文 p1=0
return 0;
--不是中文p1::INT
else
return param1::int;
end if;
end if;
--return param1;
end;
$$
LANGUAGE plpgsql;