【问题标题】:convert number to list of char将数字转换为字符列表
【发布时间】:2017-11-27 10:22:57
【问题描述】:

我有一个函数应该返回一个字母列表。 我得到了一张大小正确的桌子,里面什么都没有。 我的代码:

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$

谢谢。

【问题讨论】:

  • 这是您尝试做的:select chr(a) from generate_series(ascii('A'),ascii('A')+25,1) a; ?..
  • 是的,非常感谢!
  • 否,因为长度系列可能不同,长度由 nb 设置。所以我用 nb 替换 25

标签: sql postgresql for-loop plpgsql


【解决方案1】:

您可以为它重用现有的函数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)

【讨论】:

    猜你喜欢
    • 2014-08-06
    • 1970-01-01
    • 2013-02-11
    • 2016-03-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多