首页 > 解决方案 > 仅返回其中没有数字字符的值 SQL

问题描述

我试图只从该值中没有数字字符的列返回值。例子:

   yyyy INC 5.875% DUE 3/15/2014
   xxxx INC 6% DUE 4/15/2012
   x INC 6.625% DUE 9/15/2016
   xx INC 8.2% DUE 10/17/2003
   xy CORP REGISTERED 
   xy INC

我只想返回最后两条记录,因为其中没有数字字符。

我在玩

not like '%[^0-9.]%'

我知道如何返回不以 (+) 开头的值。我只是对如何在整个价值上做到这一点感到困惑。

标签: sqloracle

解决方案


在 Oracle 中,您将使用regexp_like(). 要说字符串中没有数字:

where not regexp_like(col, '[0-9]')

或者,如果您更喜欢更积极的东西,您可以说所有字符都不是数字:

where regexp_like(col, '^[^0-9]*$')

推荐阅读