/* 业务需求: 由于需要些存储过程从另一张表里拿数据,但是对应的金额字段是varchar2并且带了货币单位, 现在的表是number类型,下面的字符串截取就派上用场了. */ DECLARE str VARCHAR(100):= '1234.5元'; str2 VARCHAR2(100); num1 NUMBER(10,2); BEGIN --substr(要截取的字符串,开始位置,截取的长度) str2 := to_char(SUBSTR(str,1,LENGTH(str)-1)); dbms_output.put_line(str2); --截取的前面部分不能包含非数字字符,否则出现错误 --to_number() 可以省略 num1 := to_number(SUBSTR(str,1,LENGTH(str)-1)); dbms_output.put_line('截取的数字为'||num1); END;
字符串中包含字母等,无法转化为数字;
来源:https://www.cnblogs.com/lonelywolfmoutain/p/4241201.html