sql – 在Oracle中查找不包含数字数据的行
发布时间:2020-05-24 17:07:32 所属栏目:MsSql 来源:互联网
导读:我试图在一个非常大的Oracle表中找到一些有问题的记录.该列应包含所有数值数据,即使它是一个varchar2列.我需要找到不包含数字数据的记录(当我尝试在此列上调用它时,to_number(col_name)函数会抛出一个错误). 要得到一个指标: DECODE( TRANSLATE(your_number,
|
我试图在一个非常大的Oracle表中找到一些有问题的记录.该列应包含所有数值数据,即使它是一个varchar2列.我需要找到不包含数字数据的记录(当我尝试在此列上调用它时,to_number(col_name)函数会抛出一个错误). 解决方法要得到一个指标:DECODE( TRANSLATE(your_number,'0123456789',' ') 例如 SQL> select DECODE( TRANSLATE('12345zzz_not_numberee',' '),NULL,'number','contains char')
2 from dual
3 /
"contains char"
和 SQL> select DECODE( TRANSLATE('12345','contains char')
2 from dual
3 /
"number"
Oracle 11g具有正则表达式,因此您可以使用此表达式获取实际数字: SQL> SELECT colA 2 FROM t1 3 WHERE REGEXP_LIKE(colA,'[[:digit:]]'); COL1 ---------- 47845 48543 12 ... 如果有一个非数字值,如’23g’,它将被忽略. (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- mysql数据库查询优化 mysql效率
- sql – 将邻接列表层次结构展平为所有路径的列表
- sql-server – SQL Server 2005(32位)的双实例是否允许我使
- sql-server – 什么可能导致SQL Server JDBC错误’输出参数
- sql-server – 在OVER的窗口函数中使用DISTINCT
- 如何根据PEP8格式化长SQL查询
- sql – 如何按月分区表(“两年”和“年”)并自动创建每月分
- SQL Server 2008的逻辑查询处理步骤
- windows环境中mysql忘记root密码的解决方法详解
- sql-server – VS SQLCLR:函数X具有未解析的模式Y引用
