《基础语法篇》查找不包含数字数据的行

发布时间 2023-09-21 15:21:33作者: Fusio

参考链接:https://deepinout.com/oracle/oracle-questions/473_oracle_finding_rows_that_dont_contain_numeric_data_in_oracle.html#ftoc-heading-3

方法1:使用正则表达式

SELECT *
FROM table_name
WHERE NOT REGEXP_LIKE(column_name, '[0-9]')

方法2:使用TO_NUMBER函数

SELECT *
FROM table_name
WHERE TO_NUMBER(column_name) IS NULL

方法3:使用CAST函数

SELECT *
FROM table_name
WHERE CAST(column_name AS NUMBER) IS NULL

方法4:使用REGEXP_REPLACE函数

SELECT *
FROM table_name
WHERE column_name != REGEXP_REPLACE(column_name, '[[:digit:]]', '')

参考链接:https://blog.csdn.net/qq_36521848/article/details/127241136

非数值类型:

select 字段 from 表 where regexp_replace(字段,'[1]?\d+(.\d+)?$','') is not null;

数字类型:

select 字段 from 表 where trim(translate(字段,'\0123456789','')) is NULL;


  1. -+ ↩︎