phpMyAdmin
 sql >> Base de données >  >> Database Tools >> phpMyAdmin

Fonction MySQL définie par l'utilisateur pour la syntaxe Latitude Longitude

D'après la procédure que vous avez incluse, il semble que votre délimiteur soit défini sur $$ .

Si tel est le cas, essayez ce qui suit :

CREATE FUNCTION inrange(
 lat1 decimal(11, 7), 
 lon1 decimal(11, 7))
 RETURNS INT(1)
 READS SQL DATA
BEGIN
 DECLARE distance decimal(18, 10);

 SET distance = ACOS(SIN(lat1)*SIN(targ2)+COS(lat1)*COS(targ2)*COS(targ3-lon1))*6371;

 IF distance <= targ4 THEN 
  RETURN 1;
 END IF;

 RETURN 0;
END$$