百度坐标距离计算sql,组织递归sql

CREATE DEFINER=`root`@`%` FUNCTION `getChildOrg`(orgid INT) RETURNS varchar(255) CHARSET utf8mb4
    READS SQL DATA
BEGIN

DECLARE oTemp VARCHAR(3000);
DECLARE oTempChild VARCHAR(3000);

SET oTemp = '';
SET oTempChild = CAST(orgid AS CHAR);

WHILE oTempChild IS NOT NULL
DO
SET oTemp = CONCAT(oTemp,',',oTempChild);
SELECT GROUP_CONCAT(org_code) INTO oTempChild FROM enn_org WHERE FIND_IN_SET(org_parent_code,oTempChild) > 0;
END WHILE;
RETURN oTemp;

END

  组织递归查询(摘抄)

        SELECT
        *, ROUND(
        6378.138 * 2 * ASIN(
        SQRT(
        POW(
        SIN(
        (
        #{latitude} * PI() / 180 - c.camera_latitude * PI() / 180
        ) / 2
        ),
        2
        ) + COS(#{latitude} * PI() / 180) * COS(c.camera_latitude * PI() / 180) * POW(
        SIN(
        (
        #{longitude} * PI() / 180 - c.camera_longitude * PI() / 180
        ) / 2
        ),
        2
        )
        )
        ) * 1000
        ) AS juli
        FROM
        se_camera c  WHERE camera_latitude IS not NULL
        HAVING juli < 500

百度坐标

你可能感兴趣的:(数据库)