phpMyAdmin
 sql >> Database >  >> Database Tools >> phpMyAdmin

Funzione MySQL definita dall'utente per la sintassi di latitudine e longitudine

Dalla procedura che hai incluso, sembra che il tuo delimitatore sia impostato su $$ .

In tal caso, prova quanto segue:

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