strip_phone_number
create or replace function strip_phone_number(
  _in varchar
) returns varchar as $_$
DECLARE
 _len  integer;
 _i    integer;
 _chr  varchar;
 _test  varchar;
 _result varchar;
BEGIN
    select into _len length(_in);
    _i := 0;
    select into _result '';
    while _i <= _len  LOOP
        _i := _i + 1;
        select into _chr substring(_in from _i for 1);
        select into _test substring(_chr from '[0-9]$');
        --_test := _chr;
        if (_test is not null) then
            select into _result  _result || _test;
        end if;
        raise debug '%:%:%:%', _i, _chr, _test, _result;
    END LOOP;
    return _result;
END;
$_$ language plpgsql;
(u will need to fix the tabs thing in msn pastes)
select strip_phone_number('(123) 456-8909 x 1234');
 strip_phone_number
--------------------
 12345689091234
(1 row)
so that dumps the "not digit" characters from a string in pl/pgsql
but what good does that do?
dont you need the ui to undo that?
No comments:
Post a Comment