确定字段是否为Oracle中的数字字段
1。使用修剪+翻译功能:
复制代码代码如下:SELECT * FROM表装饰(翻译(柱、'0123456789 ','))是无效的;
我们应当注意的是这里的第三参数转换函数是一个空间,不是的,因为如果它是空的翻译的第三个参数是空的,所以它不会使它不能达到过滤的纯数字的目的回归。在这种方式中,所有的数字转换为空间,如果所有的人都是由数字,一旦调整自然是空的,是实现上述目标。当然,如果你想排除空项,你可以这样写:
复制代码代码如下:SELECT * FROM表装饰(翻译(NVL(柱、'X'),'0123456789 ','))是无效的;
2。使用regexp_like功能:
复制代码代码如下:SELECT * FROM表,regexp_like(柱,^ { } { } + 0-9 0-9 $);
值得注意的regexp_like功能不使用在所有的Oracle versions.regexp_like重要的是Oracle的四功能,支持正则表达式:regexp_like,regexp_replace,regexp_instr和regexp_substr。欲了解更多详情,请注意相关文件。
综上所述,如果Oracle支持regexp_like功能,建议使用正规的方式,如果不支持,在修剪+翻译。