declare r double precision; b double precision; c double precision;
begin
r:=9.2;
b:=2.3;
c:=r/b;
select log(2.7, c);
...
但这段代码有一个错误:
错误:函数log(数值,双精度)不存在行1:select log(2.7,c)
提示:没有函数与给定的名称和参数类型匹配。您可能需要添加显式类型转换。
查询:select log(2.7,c)context:pl/pgsql function inline_code_block line 11 at SQL语句SQL state:42883
如手册中所述,具有两个参数的log()
函数需要numeric
而不是double precision
do
$$
declare
r numeric;
b numeric;
c numeric;
result numeric;
begin
r:=9.2;
b:=2.3;
c:=r/b;
result := log(2.7, c);
raise notice 'Result %', result;
end;
$$
我在PostgreSQL中有一个存储过程,如下所示: 我的数据库中有带精度值的类型。对于numeric,我只需要使用。这条路对吗?
因此,im在将数据库从Oracle迁移到PGSql项目中,现在im修复了一些查询.我有一个这样的错误: 并且我在这个字符串生成器上发现了来自控制台的nvl错误
我使用DBEaver在PostgreSQL中创建了一个存储过程。我正试图通过从DBeaver调用过程将数据插入到表中。但这给了我一个错误 SQL错误[42883]:错误:函数public.proc_insert_test(integer,unknown,unknown,unknown,unknown,unknown,timestamp with time zone,integer,integer,
这里是上面代码的错误-> 没有与给定的名称和参数类型匹配的函数。您可能需要添加显式类型转换。
我使用NPGSQLADO.net连接器从C#代码与postgresql通信。 函数在postgresql数据库中可用,我也可以从pgadmin工具执行它,但无法从c#code调用它。 获取错误 42883:函数public.insert_json_array_to_test_method_temp(p_input_test_name= 错误提示-没有与给定名称和参数类型匹配的函数。您可能需要添加显
代码中的以下语句给了我一个错误: 是Postgres中的用户定义聚合函数,定义为: 错误消息为: