Oracle将字符串转换为数字,并替换特殊字符
2013-06-24 10:40
483 查看
Oracle自带有to_number函数,但需要说明的是这个函数只能转换字符串格式是正确数字的情况,
也就是一旦字符串为空,或者有特殊字符,或者有空格等等,都会抛错,以下提供一种方式成功解决以上问题:
TO_NUMBER(decode(decode(lower(nvl(replace(translate(strTargetField, '$%', ' '),' ',''),0)),upper(nvl(replace(translate(strTargetField, '$%', ' '),' ',''),0)),1,0),
1,nvl(replace(translate(strTargetField, '$%', ' '),' ',''),0),0)) numResult
需要指出的是,在nvl函数里还用了translate函数来替换指定的特殊字符,因为我的这个例子中的字段有可能包含有百分号获美元符号,对于这类字符我也认为是正确的值,所以需要先过滤掉这些符号然后再对剩下的部分进行数字转换。
原文地址:http://www.linuxidc.com/Linux/2011-12/48596.htm
也就是一旦字符串为空,或者有特殊字符,或者有空格等等,都会抛错,以下提供一种方式成功解决以上问题:
TO_NUMBER(decode(decode(lower(nvl(replace(translate(strTargetField, '$%', ' '),' ',''),0)),upper(nvl(replace(translate(strTargetField, '$%', ' '),' ',''),0)),1,0),
1,nvl(replace(translate(strTargetField, '$%', ' '),' ',''),0),0)) numResult
需要指出的是,在nvl函数里还用了translate函数来替换指定的特殊字符,因为我的这个例子中的字段有可能包含有百分号获美元符号,对于这类字符我也认为是正确的值,所以需要先过滤掉这些符号然后再对剩下的部分进行数字转换。
原文地址:http://www.linuxidc.com/Linux/2011-12/48596.htm
相关文章推荐
- Oracle将字符串转换为数字,并替换特殊字符
- 将用户输入的字符串转换为可换行、替换Html编码、无危害数据库特殊字符、去掉首尾空白、的安全方便代码
- 将用户输入的字符串转换为可换行、替换Html编码、无危害数据库特殊字符、去掉首尾空白、的安全方便代码
- 字符串内特殊字符在html_javascript_xml等内使用时的转换 ,"缺少十六进制数字"错误的处理
- js替换字符串中特殊字符
- 字符串要求字母、数字、特殊字符,至少有两项。正则表达式不好写,可以用这个方法实现。
- oracle怎么把查询出来的数字类型结果转换为字符串类型
- C# 用正则表达式替换字符串中所有特殊字符
- SSH中转义特殊字符串以及非Web项目中的特殊字符转换
- 把数据库中有关枚举项值的数字字符串转换成文字字符串
- JAVA将 带有空格或特殊字符的字符串转换成int数组的方法
- C 这个字符串参数必须包含一个或者多个数字,函数应该把这些数字字符转换为整数并返回这个整数。如果字符串参数包含了任何非数字字符,函数就返回零。
- Oracle把逗号分割的字符串转换为可放入in的条件语句的字符数列
- (转)oracle 连接运算符,连接字符串,||双竖线,在列别名上使用双引号,使用带有特殊字符的列别名
- DB2数字类型转换成字符串类型,例:ORACLE与DB2
- JavaScript正则替换去除字符串中特殊字符
- 随机字符串程序(支持数字,字母,汉字,特殊字符)
- oracle基础_字符_数字_日期_转换-函数
- PHP处理中文字符串中的特殊字符解决Oracle插入报错的问题
- oracle中日期,数字,字符串之间的相互转换