【问题标题】:Query that returns rows that start with numeric values in Oracle在 Oracle 中返回以数值开头的行的查询
【发布时间】:2015-09-07 14:26:28
【问题描述】:

我尝试编写一个查询,该查询返回 Oracle 中以数值开头的行。

例如,如果值为“123abc”、“abc123”、“123abc123”、“1a”、“a1”

它将返回:“123abc”、“123abc123”、“1a”

我试过这个查询:

SELECT * 
FROM table_name
WHERE regexp_like(column_Name,'[^0-9](*)')

我的错误在哪里?

【问题讨论】:

  • 这不是正确的结果吗?它正在做你期望它做的事情
  • 我不会得到的结果,而不是我得到的结果。现在它什么也没返回。

标签: sql oracle regexp-like


【解决方案1】:

我猜你正在寻找这个正则表达式:

SELECT * 
FROM table_name
WHERE regexp_like(column_Name,'^[0-9]')

或者简而言之

SELECT * 
FROM table_name
WHERE regexp_like(column_Name,'^\d')

您所做的是否定括号中元素的结果,^ 需要在括号之前

【讨论】:

    猜你喜欢
    • 2011-04-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-22
    • 1970-01-01
    • 1970-01-01
    • 2018-03-20
    • 1970-01-01
    相关资源
    最近更新 更多