将数字转换为字符列表
convert number to list of char
我有一个函数应该 return 字母列表。
我得到了一个 table ,大小正确,里面什么也没有。
我的代码:
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$
谢谢。
您可以为它重用现有函数 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)
我有一个函数应该 return 字母列表。 我得到了一个 table ,大小正确,里面什么也没有。 我的代码:
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$
谢谢。
您可以为它重用现有函数 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)