我想選擇數據庫中的所有點只是如果我的角度在兩個另一個角度之間......我在PHP代碼並這部作品RLY偉大之間:MYSQL - 如果計算的角度是兩個角度
public static function angle_between($value, $ang_a, $ang_b)
{
$n = (360 + ($value % 360)) % 360;
$a = (3600000 + $ang_a) % 360;
$b = (3600000 + $ang_b) % 360;
return ($a < $b) ? ($a <= $n && $n <= $b) : ($a <= $n || $n <= $b);
}
但我怎麼能在SQL中做到這一點?我想這當然
SELECT ... WHERE angle BETWEEN X AND Y
,但我使用了「角度公差」和這個例子沒有在這種情況下,當然工作:
angle = 355;
x = (angle - 10)
y = (angle + 10);
SELECT * FROM ... WHERE angle BETWEEN 345 AND 5
// 5° cause 355°+10° = 365° = 5°
,當然還有不間,但它是...
BTW:angle_between(355, 345, 5); // true
你是對的......(min> max)?角度BETWEEN $ min和360與角度之間0和$ max:角度之間$ min和$ max –
非常感謝! :-) –