比如有一个字符: '123 456 你好' 或者是 '123_456_你好'
想要得到 '你好' sql怎么写
select '123_456_你好' from dual /
select '123 456 你好' from dual
如果确定是特殊字符或者空格我用截取可以,但是这个字符不确定是_还是空格 ,sql该怎么写(只确定会有_或者空格,不知道有几个_几个空格,也不知道是否有_是否有空格)
select substr('123_456_你好',(instr('123_456_你好', '_', -1, 1) +1),length('123_456_你好')) from dual; --你好
先判断是否有空格吗,还是怎么说,或者事先,先强制转换空格为下划线?
请教各位大神
测试后先替换可以:
select substr(REPLACE('123 456_你好',' ','_'),(instr(REPLACE('123 456_你好',' ','_'), '_', -1, 1) +1),
length(REPLACE('123 456_你好',' ','_'))) from dual; --你好
请教有没有其他更好的方法