在MySQL中生成随机经度和纬度

时间:2012-07-10 12:05:46

标签: mysql random floating-point

我正在尝试在MySQL中生成一些虚拟记录,并且需要在给定范围内创建随机纬度和经度浮点值。

例如,我需要生成介于52.077090052913654和52.477040512464626之间的纬度

经度介于-1.8840792500000134和-0.9172823750000134

我熟悉使用Rand Floor创建随机数范围,但这只会产生整数。我怎么可能这样做?

1 个答案:

答案 0 :(得分:10)

您可以使用RAND()获取两个值之间的随机值,如下所示:


randVal = (RAND() * (maxVal - minVal)) + minVal


使用您的号码:

SELECT 
    (RAND() * (52.477040512464626 - 52.077090052913654)) + 52.077090052913654 AS randlatitude,
    (RAND() * (-0.9172823750000134 - -1.8840792500000134)) + -1.8840792500000134 AS randlongitude