2016-04-22 19 views
0
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に変換しようとしていますが、その方法についてもわかりません。私はGoogleにしようとしているし、非常に遠くの助けや方向性を得ることは素晴らしいことはありません。SQL内の文字列から不要な文字列

+0

SQLPlusには正規表現があります。理由は何ですか?これは使えない? https://docs.oracle.com/cd/B19306_01/server.102/b14200/functions130.htm – Crackerman

答えて

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