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将带符号的字符串转为数字
这个?
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'。
相关文章
解决MySQL服务启动失败:常见问题及解...
2024-12-26 11:56:16MySQL字段拼接技巧:高效实现两字段合...
2024-12-25 02:47:12Windows Redis安装与配置指南...
2024-12-31 18:46:10三天前MySQL数据丢失?这些恢复方法帮...
2024-12-30 21:03:53Windows 10/7 Redis安装...
2024-12-15 11:50:01MySQL8.0安装教程:Windows...
2024-12-21 16:05:11MySQL联合主键添加指南:一步到位的S...
2024-12-28 00:30:53SQL聚合函数详解:常见函数及应用场景
2025-01-01 02:31:03MySQL命令行操作指南:轻松启动和登录...
2024-12-23 12:08:20MySQL控制台查看数据库表数据教程
2024-12-20 21:56:03最新文章
12
2025-01
12
2025-01
12
2025-01
12
2025-01
12
2025-01
12
2025-01
12
2025-01
12
2025-01
12
2025-01
12
2025-01
热门文章
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.获取...