Pas besoin d'une expression régulières lourde et peu performante. Le LIKE et une UDF suffit.
L'UDF :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| CREATE FUNCTION test.REPLICATE (datum VARCHAR(32), len smallint)
RETURNS VARCHAR(8000)
LANGUAGE SQL
DETERMINISTIC
CONTAINS SQL
SPECIFIC test.myudf
RETURNS NULL ON NULL INPUT
SQL SECURITY DEFINER
COLLATION INVOKER
INLINE TYPE 1
Declare i int;
Declare outval VARCHAR(8000);
set i = 1;
set outval = '';
WHILE i <= len DO
SET outval = outval || datum;
SET i = i + 1;
END WHILE;
RETURN outval; |
La formule magique :
MACOLONNE LIKE test.REPLICATE(SUBSTRING(MACOLONNE, 1, 1), CHARACTER_LENGTH(MACOLONNE))
A +
Partager