如何将此函数传递给firebird
create function `candidat`(in_num decimal(10,2),
in_group integer unsigned)
returns integer unsigned
deterministic
language sql
begin
return case in_group when 1 then floor(in_num / 3.0 + 0.99)
when 2 then floor(in_num / 3.0 + 0.50)
else floor(in_num / 3.0) end;
end
2条答案
按热度按时间vmjh9lq91#
有3种方法可以提取您需要的数据:
在sql中添加案例:
obs:the
RDB$DATABASE
它只是一个表示例de result,而“:in_num”和“:in_group”是一个变量/参数,您可以用一个表的列来更改它,也可以只注入您需要的值创建如下过程:
你可以像这样使用它:
您可以使用c++之类的语言创建库(udf),该语言生成
.dll
欧点.so
(对于linux)具有candidat
然后将其添加到数据库中。为此,您可以查看https://www.firebirdsql.org/en/writing-udfs-for-interbase/
然后可以使用自定义项,如:
0kjbasz62#
您可以创建firebird3psql函数,它与mysql函数几乎相同。主要区别在于创建语法:
因为firebird没有无符号整数,所以需要使用正规的(有符号的)
integer
相反。给定的输入应该足够,否则考虑切换到bigint
.