Oracle字符串转数字技巧:ASCII码、正则表达式与异常处理

创始人
2024-12-29 17:52:51
0 次浏览
0 评论

Oracle判断字符串是否能转成数字

1.通过ASCII码判断是否为数字,在[48,57],(ascii('0')=48,ascii('9')='57')之间2.调用cast函数测试转换结果NUMERICORNUMBER的强度,如果不是合法的数字字符串,则会抛出异常。
调用正则表达式,模式匹配(10g版本新增功能)——通过ASCII码判断是否为数字,在[48,57],(ascii('0')=48,ascii('9')='之间57')DECLAREstrVARCHAR2(10):='123a';valNUMERIC(10);iint;kint;flagBOOLEAN;BEGINflag:=TRUE;foriin1..10loop--如果新密码是6位k:=ascii(substr(str,i,1));ifk<48ork>57THENflag:=FALSE;endif;endLOOP;IFflag=true输出THENDbms。
put_line(str||'是[0-9]的数字序列');ELSEdbms_output.put_line(str||''不是[0-9]的数字序列');ENDIF;END;--调用强制转换函数尝试强制转换为NUMERIC或NUMBER如果不是合法的数字字符串,则会抛出DECLAREstrVARCHA异常。
R2(10):='123';valNUMERIC(10);BEGINval:=CAST(strASNUMERIC);dbms_output.put_line(str||'是[0-9]的数字序列');EXCEPTIONWHENvalue_errorTHEN--字符串转实数数字错误--dbms_output.put_line(SQLCODE||','||SQLERRM);dbms_output.put_line(str||'数字序列isnot[0-9]');END;--调用translate函数去掉所有[0-9]后面的数字,检查是否为空字符串DECLAREstrVARCHAR2(10):='123abc';BEGINIFreplace(translate(str,'0123456789','0'),'0','')ISNULLTHENDdbms_output.put_line(str||'是一个序列[0-9]的数字序列');ELSEdbms_output.put_line(rr||'不是[0-9]的数字序列');ENDIF;END;--调用正则表达式进行模式匹配(重新添加的一个功能inversion10g)SELECT*FROMdualWHEREregexp_like('1234','^[[:digit:]]+$');--提取字符串每个字符串中的数字(调用翻译函数两次)。
--假设初始字符串是str。
首先,将str中的所有数字替换为空格,输出记录为str2-其次,对于str中出现的每个字符串str2中的每个字符,如果是str2的第一个字符,则将其替换为空格;删除所有其他字符DECLARE--strVARCHAR2(100):='护照01浙江23昆山4苏3';strVARCHAR2(100):='护照浙江昆山苏4';retVARCHAR2(10);BEGINret:=TRIM(TRANSLATE(str,trim(TRANSLATE(str,'1234567890','')),''));dbms_output.put_line(ret);END;

ORACLE将带符号的字符串转为数字

从Dual中选择abs(to_char('-123.45'))

这个?

to_char是将字符转换为数字

abs是绝对值

oracle字符串数字

使用to_number函数将字符串转换为数字。
例如,to_number('1210.73')将返回1210.73。
要将数字转换为字符串,请使用to_char函数。
例如,to_char(1210.73')将返回“1”。
210.73'两个函数都可以设置转换格式,例如to_char(1210.73,"$9,999.00")将得到'$1,210.73'。
热门文章
1
Python代码实现:如何判断三角形的三... python三角形三条边长,判断能否构成三角形Python三角形的三个长边如下:...

2
高效掌握:CMD命令轻松启动、关闭及登录... 如何用cmd命令快速启动和关闭mysql数据库服务开发中经常使用MySQL数据库...

3
SQL字段默认值设置全攻略:轻松实现自动... sql如何设置字段默认值设置SQL中某个字段的默认值;需要遵循几个步骤。首先您需...

4
MySQL查询加速秘籍:PolarDB ... mysql中in大量数据导致查询速度慢怎么优化?在MySQL中处理大量数据时,查...

5
SQL2000数据库备份压缩技巧:优化空... 怎么将SQL2000中的较大的备份数据库压缩变小更改数据库属性-选项-恢复模型很...

6
SQL字符串处理技巧:单引号使用与转义标... SQL语句中,字符串类型的值均使用什么符号标明?单引号如果字符串内有单引号,请小...

7
Windows环境下Redis安装指南与... redis安装windowsredis基本简介与安装安装Redis首先需要获取安...

8
深度解析:Redis性能优势与局限性,助... redis有哪些优缺点?Redis的全称是RemoteDictionary.Se...

9
深入解析:MySQL数据库的特性与应用 mysql是什么MySQL是一个关系数据库管理系统。MySQL是一个开源关系数据...

10
Linux Redis操作指南:安装、配... Linux系统进入redis并查询值1.进入redisredis-cli2.获取...