]> git.evergreen-ils.org Git - working/Evergreen.git/blob - Open-ILS/src/sql/Pg/upgrade/XXXX.schema.lpad-number-repair.sql
7b79fc42ae8518e82157fd62f15ea3777a88fe06
[working/Evergreen.git] / Open-ILS / src / sql / Pg / upgrade / XXXX.schema.lpad-number-repair.sql
1 BEGIN;
2
3 CREATE OR REPLACE FUNCTION evergreen.lpad_number_substrings( TEXT, TEXT, INT ) RETURNS TEXT AS $$
4     my $string = shift;            # Source string
5     my $pad = shift;               # string to fill.  Typically '0'. This should be a single character.
6     my $len = shift;               # length of resultant padded field
7     my $find = $len - 1;
8
9     while ($string =~ /(^|\D)(\d{1,$find})($|\D)/) {
10         my $padded = $2;
11         $padded = $pad x ($len - length($padded)) . $padded;
12         $string = $` . $1 . $padded . $3 . $';
13     }
14
15     return $string;
16 $$ LANGUAGE PLPERLU;
17
18 COMMIT;
19