phpMyAdmin
 sql >> Base de Dados >  >> Database Tools >> phpMyAdmin

Função definida pelo usuário do MySQL para sintaxe de latitude e longitude


A partir do procedimento que você incluiu, parece que seu delimitador está definido como $$ .

Se sim, tente o seguinte:
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$$