MySQL和MS SQL查询执行不同

问题描述:

SELECT ACOS(31.552278760192) 

当在MSSQL Server中执行时,它会返回一些值,但在MYSQL中执行时会返回null。MySQL和MS SQL查询执行不同

任何形式的帮助表示赞赏。

+1

你为什么不检查什么ACOS(SIN(31.552278760192)* SIN(latitute)+ COS(31.552278760192)* COS(latitute)* COS(longitute) - 74.338372290294)* 6371将返回在MySQL?那里可能有一些问题。 – Kangkan

+0

同意 - 你需要分解每个选择。 – SliverNinja

+0

@Kangkan,我不那么懒。我已经检查过了。它返回的东西不是null。 –

fine manual

ACOS(X)
返回X的反余弦,即,其余弦是X.返回NULL,如果X不为在范围-1到1

因此31.552278760192超出了MySQL的ACOS的范围。实际上,由于[-1,1]acos(31.552278760192) is ~4i以外的结果,反余弦函数并不产生实数。

+0

太棒了!大!非常深刻的回答。谢谢 –

+0

盛大答复。如此深刻的洞察力。 +10投票按钮在哪里? – Kangkan