oracle 字符串截取substr

孤人 提交于 2020-01-11 01:49:41
/*

业务需求:

 由于需要些存储过程从另一张表里拿数据,但是对应的金额字段是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;

字符串中包含字母等,无法转化为数字;

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!