将数字转换为char列表

时间:2017-11-27 10:22:58

标签: sql postgresql for-loop plpgsql

我有一个应该返回字母表字母列表的函数。 我得到一张尺寸正确的桌子,内部没什么。 我的代码:

CREATE OR REPLACE FUNCTION p_get_list(IN nb integer)
RETURNS TABLE(strconcat text) AS
$BODY$DECLARE
i integer;
j integer;
r integer;
strconc text;

BEGIN
    j=ASCII('A');
    FOR i IN 1..nb LOOP
        r=j+i-1;
        SELECT chr(r) INTO strconc;
        RETURN NEXT;
    END LOOP;
end if;

END;$BODY$

感谢。

1 个答案:

答案 0 :(得分:0)

您可以为其重复使用现有函数generate_series,例如:

t=# select chr(a) from generate_series(ascii('A'),ascii('A')+25,1) a;
 chr
-----
 A
 B
 C
 D
 E
 F
 G
 H
 I
 J
 K
 L
 M
 N
 O
 P
 Q
 R
 S
 T
 U
 V
 W
 X
 Y
 Z
(26 rows)