在oracle SP中删除' - '的最佳方法

时间:2009-06-24 22:14:56

标签: oracle

我有一个Oracle存储过程,其参数之一是带有连字符格式xxx-xx-xxxx的社会安全号码(SSN)。删除连字符的最佳方法是什么,以便将SSN转换为xxxxxxxxx格式?

3 个答案:

答案 0 :(得分:7)

REPLACE('xxx-xx-xxxx', '-', '')

或者@jitter提到,第三个参数默认为'',所以:

REPLACE('xxx-xx-xxxx', '-')

答案 1 :(得分:1)

要回答你的第二个问题,如果你已经拥有xxx-xx-xxxx版本,请不要覆盖它,你将同时拥有它们。

如果您期望xxxxxxxxx并且您想要xxx-xx-xxxx,请使用以下方法将其拼凑在一起:

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

答案 2 :(得分:0)

mystring:= v_mySSN; select substr(mystring,0,3)||' - '|| substr(mystring,3,2)||' - '|| substr(mystring,5,4) 进入变异 来自some_table;

这可以在一个过程中使用,以正确选择变量中的值。