sql - 我需要帮助创建在 Oracle 数据库中运行的 SQL Oracle 以仅获取那些没有数字值的列
问题描述
我试过这种方法:
SELECT column1 FROM table WHERE column1 not like '%[^0-9]%' and column1 != ''
但实际上什么也没发生,我需要过滤一个纯粹没有数值的列。
解决方案
这个表达式:
column1 not like '%[^0-9]%'
不做你想的。它匹配如下所示的字符串:
abasdfs[^0-9]asfsdf
^-----^ any string
^----^ exactly this
^-----^ any string
大概,你想要一个只包含数字的字符串。我会建议其中之一:
regexp_like(column1, '^[0-9]*$')
not regexp_like(column1, '[^0-9]')
推荐阅读
- linux - Plesk 问题出现了,没有做任何事情。500 Zend_Controller_Exception
- excel - 如何使用java更新excel元数据
- php - 无法验证 Laravel 中的数据
- frama-c - 在 ACSL 中指定参照透明度
- firebase - Firebase 托管 Vue.js 网络::ERR_ABORTED
- c - 代码块 C 'Hello World':没有这样的文件或目录
- google-apps-script - 如何在 Gmail Addon 上的现有卡片中添加新部分?
- axon - Axon:JUnit 测试。如何通过 testFixture 更改给定事件的创建时间?
- php - 如何将旋转标准化为零
- php - 如何获取数组的一个字段并根据另一个字段确认它?