可能这很简单,但我需要你的帮助。
我有一个包含以下数据的表:

   NAME       VAL1
135.name1    value1
135.name2    value2
135.name3    value3

如果我想选择列 NAME 中的数据,我会这样做:
select s.NAME
  FROM MY_TABLE s
where s.SCHEDULE_NAME like '135.%'

    NAME
  135.name1
  135.name2
  135.name3

但我想选择列 NAME 中的数据但没有“135”。
请注意,135 不是常数。例如,它可以是“34567.”。所以它可以是更多的数字。
是否可以?我喜欢得到这个:
 NAME
 name1
 name2
 name3

最佳答案

你可能正在寻找这个:-

SELECT REGEXP_REPLACE('135.name1', '^135.') FROM Table;

对于您的情况:-
SELECT REGEXP_REPLACE(name, '^135.') FROM My_Table;

或试试这个:-
SELECT REPLACE('135.name1','135.','') COL1 FROM Table;

编辑:-

为了让它更动态,你可以试试这个:-
SELECT REGEXP_REPLACE(name, '^\d+\.') FROM My_Table;

关于sql - 选择部分数据,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18852200/

10-12 01:07