可能这很简单,但我需要你的帮助。
我有一个包含以下数据的表:
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/