我需要在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)
这种方法似乎有点复杂.有更好的方法吗?