Bonjour

J'essaye de créer une fonction qui, pour une chaîne de caractères donnée, renvoie soit les caractères situés avant un tiret délimiteur, soit les 3 premiers caractères en l'absence de délimiteur.
J'ai essayé avec ça, mais je n'arrive pas à créer la fonction. Quelqu'un pourrait-il m'aider ? Merci beaucoup.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 
CREATE FUNCTION func(arg CHAR(50)) RETURNS char(50)
	IF LEFT(arg, 1) REGEXP ('[0-9]') 
	THEN (RETURN SUBSTRING_INDEX(arg, ' - ', 1))
	ELSE (RETURN LEFT(arg, 3))
	END IF