从SQL中的字符串中删除不需要的字符

时间:2016-04-22 11:03:18

标签: sql sqlplus

    Public Function StripUnwanted(ByVal unwanted_strIn) As String

On Error GoTo Err_StripUnwanted

Dim lngCount As Long

If Not IsNull(unwanted_strIn) Then

    For lngCount = 1 To Len(unwanted_strIn)

        If IsNumeric(Mid$(unwanted_strIn, lngCount, 1)) Then
        strOut = strOut & Mid$(unwanted_strIn, lngCount, 1)
        End If

    Next lngCount

End If

StripUnwanted = strOut

Exit_StripUnwanted:
     Exit Function

Err_StripUnwanted:
     MsgBox Err.Number & Err.Description
     Resume Exit_StripUnwanted

我已经获得了上面的代码,它在VB中链接到访问,我试图将这个代码转换为SQLPlus,但我不确定如何去实现它。我试图谷歌并没有得到任何帮助或指导会很好。

1 个答案:

答案 0 :(得分:0)

您可以使用translate

执行此操作

如果您只是处理传入的字符串,而不是来自表格:

declare
  v_val varchar2(20);
begin
  v_val := translate('abcdef', '1abc', '1');
  dbms_output.put_line(v_val);
end;
/

def

如果您正在处理来自表格的字符串:

select translate('abcdef', '1abc', '1')
from   dual;

TRANSLATE('ABCDEF','1ABC','1')
------------------------------
def