我正在通过为表中的字段预先计算一些三角函数来优化查询,但我偶然发现了这个:
SELECT 6371 * acos( 0.793521289617132 * 0.793521289617132 + 0.608542490648241 * 0.608542490648241 * cos( 0.235244203230056 - 0.235244203230056 ) )
返回 null
使用未预计算的值进行的查询:
SELECT 6371 * acos( sin( radians( 52.51581 ) ) * sin( radians( 52.51581 ) ) + cos( radians( 52.51581 ) ) * cos( radians( g.lat ) ) * cos( radians( 13.4785 ) - radians( 13.4785 ) ) )
返回0(这是正确的结果)
这是一个错误吗?还是预期的结果?