小编eng*_*ng3的帖子

处理360度范围的最佳方式

我需要在SQL数据库中选择0到359.9度的范围.

我的输入是中心角和范围的形式.例如,center = 100 range = 50将给出一个角度> 75°<125的范围.但是,如果center = 0,则范围将是角度<25且角度> 335.

因此我的当前算法的工作方式如下:

minangle = center-range/2
maxangle = center+range/2
if minangle<0, then minangle += 360
if maxangle>0, then maxangle -=360
Run Code Online (Sandbox Code Playgroud)

然后在我的查询中

if minangle<maxangle, I query angle>minangle AND angle<maxangle
if minangle>maxangle, I query angle>minangle OR angle<maxangle  
Run Code Online (Sandbox Code Playgroud)

这种方法似乎有点复杂.有更好的方法吗?

c++ sql qt4

5
推荐指数
1
解决办法
406
查看次数

标签 统计

c++ ×1

qt4 ×1

sql ×1