題の通りです。
とのことなのですが、GoogleSQLの方だとPI()が実装されていないようで、円周率を使った計算で少し手間取ったためメモを残します。
PIを代替する方法
ACOS(-1)
を使用する
※cos π = -1
なので、両辺に逆関数をかけてπ = arccos(-1)
ということみたいです。(多分)
一応確認
#standardSQL
, #legacySQL
のいずれかを先頭行に付与すると切り替えられるようなので*2、PI()とACOS(-1)をそれぞれ確認してみます。
レガシーSQL
標準SQL(GoogleSQL)
少なくともレガシーSQLでPI()を使用した時と同等の精度は出るみたいでした。