Stored Procedure

delimiter //

CREATE FUNCTION distance (latA double, lonA double, latB double, LonB double)
    RETURNS double DETERMINISTIC
BEGIN
    SET @RlatA = radians(latA);
    SET @RlonA = radians(lonA); 
    SET @RlatB = radians(latB); 
    SET @RlonB = radians(LonB); 
    SET @deltaLat = @RlatA - @RlatB; 
    SET @deltaLon = @RlonA - @RlonB; 
    SET @d = SIN(@deltaLat/2) * SIN(@deltaLat/2) + 
        COS(@RlatA) * COS(@RlatB) * SIN(@deltaLon/2)*SIN(@deltaLon/2);
    RETURN 2 * ASIN(SQRT(@d)) * 6371.01;
END//