如何从字符串中删除最后一位数字

问题描述 投票:0回答:1

我想通过使用集合来逐个删除字符串的最后一位数字,但是当我删除最后一位数字时,它也会从开头删除零,请检查代码和结果并帮助我

声明

type t_list 是 mk_suk.CALLED_NBR%type 的表;

v_array t_list;

idx 编号;

ID 号;

开始

select substr(CALLED_NBR,1,(LENGTH(CALLED_NBR))) 从 mk_suk 批量收集到 v_array 中;

for i in v_array.first..v_array.last 循环

dbms_output.put_line(v_array(i));

ids:=v_array(i);

循环

从 mk_suk 选择 substr(ids,1,(LENGTH(ids)-1)) 到 idx 中,其中 CALLED_NBR=v_array(i);

ids:=idx;

dbms_output.put_line(idx);

当长度(idx)时退出<2;

结束循环;

结束循环;

结束;

--------------------------------查询结果------------------------ ----------------------------------

09589583145

958958314

95895831

9589583

958958

95895

9589

958

95

9

plsql plsqldeveloper plsql-package pls
1个回答
0
投票

oracle 不会“从开头删除零”,而是将其转换为数字。数字 0001 与 1 相同,变量

ids
idx
都是数字。

koen 19c>SELECT LENGTH(0001) as anumber, LENGTH('0001') as astring from dual;

   ANUMBER    ASTRING 
__________ __________ 
         1          4 

koen 19c>

© www.soinside.com 2019 - 2024. All rights reserved.