Bonsoir, j'essaye de faire une substring_index d'une substring_index dans une function pour récupérer une partie de la valeur d'un champ. Ceci car je ne trouve pas comment retourner l'équivalent de $1 (ou $2) de l'expression régulière select @c regexp /*([0-9]*)s/ (si quelqu'un sait...)
Et que de plus substring_index(substring_index...) ne fonctionne pas... d'ou la function...
Mais je ne suis pas très doué...
Si quelqu'un peu m'aider, merci !
Guillaume
mysql> select @c;
+---------------+
| @c |
+---------------+
| 2d 11mm 46s E |
+---------------+
1 row in set (0.00 sec)
// note : @c est juste là pour donner le genre de contenu à récupérer... sauf que de tant à autre il s'agit d'une décimal et non d'un entier, du genre 46.13s... (d'où la difficulté de la chose d'ailleurs...)
mysql> delimiter |
mysql> drop function if exists ex_s|
Query OK, 0 rows affected, 1 warning (0.00 sec)
mysql> create function ex_s (c varchar(30)) returns decimal(10,4)
-> begin
-> declare ret decimal(10,4);
-> declare a text;
-> select a=substring_index(c,' ',-2);
-> select ret=substring_index(a,'s',1);
-> return ret;
-> end
-> |
ERROR 1415 (0A000): Not allowed to return a result set from a function
mysql> delimiter ;
mysql>
Partager