Sql 如何根据Oracle中另一列的内容删除列中的部分字符串
我的数据库表如下所示:Sql 如何根据Oracle中另一列的内容删除列中的部分字符串,sql,string,oracle,Sql,String,Oracle,我的数据库表如下所示: Class | ClassNumber S | S3 T | T37 T | T50 S | SS07 S | S4 S | SG27 ClassNumber包含Class的值和另一个标识符。这意味着,如果类是S,那么它意味着类号必须以S开头,然后是另一个标识符 我想提取ClassNumber中的标识符 如果我使用REPLACE功能,它将替换所有匹配的字符。但我只想删除前缀 SELECT REP
Class | ClassNumber
S | S3
T | T37
T | T50
S | SS07
S | S4
S | SG27
ClassNumber
包含Class
的值和另一个标识符。这意味着,如果类
是S
,那么它意味着类号
必须以S
开头,然后是另一个标识符
我想提取ClassNumber
中的标识符
如果我使用REPLACE
功能,它将替换所有匹配的字符。但我只想删除前缀
SELECT REPLACE(ClassNumber, Class, '') FROM MY_TABLE
这将使SS07
变为07
。但我希望它返回S07
如何执行此操作?尝试
REGEXP\u REPLACE
SELECT CLASSNUMBER,REGEXP_REPLACE(ClassNumber, '^'||Class, '') as id FROM t
或者,如果您确定它始终是一个单位数字类,只需使用
SUBSTR(CLASSNUMBER,2)