Från proceduren du har inkluderat, ser det ut som att din avgränsare är inställd på $$
.
Om så är fallet, försök med följande:
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$$