我正在尝试在用户定义的函数中将数字变量调用/转换为字符串。我正在考虑使用to_char
,但它没有通过。
我的功能是这样的:
create or replace function ntile_loop(x numeric)
returns setof numeric as
$$
select
max("billed") as _____(to_char($1,'99')||"%"???) from
(select "billed", "id","cm",ntile(100)
over (partition by "id","cm" order by "billed")
as "percentile" from "table_all") where "percentile"=$1
group by "id","cm","percentile";
$$
language sql;
我的目的是定义一个新变量“x%”作为其名称,其中 x 变化作为函数输入。在上下文中,x 是数字,稍后将在函数中作为数字再次调用(这部分代码未包含在上面的示例中)。
我要返回的内容:
我只是想返回一段代码,这样每次我更改百分位数时,我就不必一次又一次地运行这段代码。我想计算 5, 10, 20, 30, ....90th 百分位数,并将每个 id+cm 组的所有这些都显示在同一张表中。
这就是为什么我在考虑宏或函数,但没有找到我喜欢的任何解决方案。
谢谢您的回答。是的,我一定会在学习的同时阅读基础知识。今天是我使用 SQL 的第二天,但必须立即生成一些结果。