лучший способ удалить '-' в оракуле SP - PullRequest
1 голос
/ 25 июня 2009

У меня есть хранимая процедура Oracle, одним из параметров которой является номер социального страхования (SSN) в формате дефисов xxx-xx-xxxx. Каков наилучший способ удаления дефисов, чтобы я преобразовал SSN в формат xxxxxxxxx?

Ответы [ 3 ]

7 голосов
/ 25 июня 2009
REPLACE('xxx-xx-xxxx', '-', '')

Или, как упоминает @jitter, третий аргумент по умолчанию равен '', поэтому:

REPLACE('xxx-xx-xxxx', '-')
1 голос
/ 25 июня 2009

Чтобы ответить на второй вопрос, если у вас уже есть версия xxx-xx-xxxx, не перезаписывайте ее, и вы получите оба варианта.

Если вы ожидаете xxxxxxxxx и хотите xxx-xx-xxxx, соберите его вместе, используя:

SUBSTR('xxxxxxxxx', 0, 3) || '-' || SUBSTR('xxxxxxxxx', 3, 2) || '-' || SUBSTR('xxxxxxxxx', 5, 4)
0 голосов
/ 26 июня 2009

mystring: = v_mySSN; выберите substr (mystring, 0, 3) || '-' || substr (mystring, 3, 2) || '-' || substr (mystring, 5, 4) в переменный from some_table;

Это будет работать внутри процедуры для правильного выбора значения в переменной.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...