在PgAdmin中使用Postgresql中的reverse for循环反转数字
我正在尝试反转字符串,比如说“1234”,使用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_
输出
注意:字符串长度为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
可能只是使用反向
可能只是使用反向