2009-06-24 9 views
1

Ich habe eine gespeicherte Oracle-Prozedur, die als einen der Parameter eine Sozialversicherungsnummer (SSN) im Bindestrichformat xxx-xx-xxxx hat. Was ist der beste Weg, um die Bindestriche zu entfernen, so dass ich die SSN in ein xxxxxxxxx Format umwandeln?beste Möglichkeit zum Entfernen von '-' in Oracle SP

+0

Welche Oracle-Version verwenden Sie? – DaveE

Antwort

7
REPLACE('xxx-xx-xxxx', '-', '') 
+1

Oder kürzer REPLACE (yourstringhere, '-') – jitter

+0

danke! und was, wenn ich xxxxxxxxx habe und ich möchte es in xxx-xx-xxxx verwandeln? –

+0

Ich kann das in einem SP nicht verwenden? –

1

Ihre zweite Frage zu beantworten, wenn Sie bereits die xxx-xx-xxxx-Version haben, sollten Sie es nicht überschreiben und Sie beide haben.

Wenn Sie erwarten xxxxxxxxx und Sie möchten xxx-xx-xxxx, Stück zusammen mit:

SUBSTR('xxxxxxxxx', 0, 3) || '-' || SUBSTR('xxxxxxxxx', 3, 2) || '-' || SUBSTR('xxxxxxxxx', 5, 4) 
0

mystring: = v_mySSN; substr auswählen (mystring, 0, 3) || '-' || substr (mystring, 3, 2) || '-' || substr (meinstring, 5, 4) in variablel from some_table;

Dies würde innerhalb einer Prozedur funktionieren, um Ihren Wert in einer Variablen richtig auszuwählen.

Verwandte Themen