Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在PgAdmin中使用Postgresql中的reverse for循环反转数字_Sql_Postgresql_Plpgsql - Fatal编程技术网

在PgAdmin中使用Postgresql中的reverse for循环反转数字

在PgAdmin中使用Postgresql中的reverse for循环反转数字,sql,postgresql,plpgsql,Sql,Postgresql,Plpgsql,我正在尝试反转字符串,比如说“1234”,使用reverse for循环。 但是输出是 输出 注意:字符串长度为4 注意:号码是5484 注意:反向编号为 任何关于我做错了什么的建议。当你使用时:L_REV_NO=L_REV_NO | SUBSTRING(L_NO,CNTR,1)您可以L_REV_NO=NULL | | |……=>空 您需要首先初始化L\u REV\u NO变量: DO $$ DECLARE L_NO VARCHAR(5) := '1234'; L_

我正在尝试反转字符串,比如说“1234”,使用reverse for循环。 但是输出是


输出
注意:字符串长度为4
注意:号码是5484
注意:反向编号为

任何关于我做错了什么的建议。当你使用时:
L_REV_NO=L_REV_NO | SUBSTRING(L_NO,CNTR,1)您可以
L_REV_NO=NULL | | |……=>空

您需要首先初始化
L\u REV\u NO
变量:

 DO $$
    DECLARE
    L_NO VARCHAR(5) := '1234';
    L_LEN NUMERIC(5);
    L_REV_NO VARCHAR(5) = '';
    BEGIN
    L_LEN := CHAR_LENGTH(L_NO) ;
    RAISE NOTICE 'STRING LENGTH IS %' , L_LEN  ;
    FOR  CNTR IN  REVERSE  L_LEN..1 LOOP
   L_REV_NO = L_REV_NO||SUBSTRING(L_NO,CNTR,1);
    END LOOP;
    RAISE NOTICE 'NUMBER IS %' ,L_NO ;
    RAISE NOTICE 'REVERSE NUMBER IS %' ,L_REV_NO ;
    END $$ ;

另一个简单的解决方案是使用内置函数

SELECT REVERSE('1234')
-- 4321

使用时:
L_REV_NO=L_REV_NO |子字符串(L_NO,CNTR,1)您可以
L_REV_NO=NULL | | |……=>空

您需要首先初始化
L\u REV\u NO
变量:

 DO $$
    DECLARE
    L_NO VARCHAR(5) := '1234';
    L_LEN NUMERIC(5);
    L_REV_NO VARCHAR(5) = '';
    BEGIN
    L_LEN := CHAR_LENGTH(L_NO) ;
    RAISE NOTICE 'STRING LENGTH IS %' , L_LEN  ;
    FOR  CNTR IN  REVERSE  L_LEN..1 LOOP
   L_REV_NO = L_REV_NO||SUBSTRING(L_NO,CNTR,1);
    END LOOP;
    RAISE NOTICE 'NUMBER IS %' ,L_NO ;
    RAISE NOTICE 'REVERSE NUMBER IS %' ,L_REV_NO ;
    END $$ ;

另一个简单的解决方案是使用内置函数

SELECT REVERSE('1234')
-- 4321

可能只是使用
反向
可能只是使用
反向