sql >> Base de Datos >  >> Database Tools >> phpMyAdmin

Función definida por el usuario de MySQL para la sintaxis de longitud de latitud

Según el procedimiento que ha incluido, parece que su delimitador está configurado en $$ .

Si es así, intente lo siguiente:

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$$