标准 SQL 弧度函数

Posted

技术标签:

【中文标题】标准 SQL 弧度函数【英文标题】:Standard SQL Radians Function 【发布时间】:2019-06-25 22:05:02 【问题描述】:

从legacy切换到standard,是否有一个标准函数可以将值转换为弧度,类似于legacy?

通常,我会在旧版 SQL 中使用 radian(),但标准中不存在该函数。

【问题讨论】:

【参考方案1】:
CREATE TEMP FUNCTION RADIANS(x FLOAT64) AS (
  ACOS(-1) * x / 180
);

SELECT RADIANS(37);  -- returns 0.6457718232379019

【讨论】:

【参考方案2】:

作为您现在可以使用的共享 UDF,fhoffa.x.radians()

SELECT fhoffa.x.radians(180)

3.141592653589793

持久性 UDF 的操作方法:

https://medium.com/@hoffa/new-in-bigquery-persistent-udfs-c9ea4100fd83

【讨论】:

【参考方案3】:

2021 年更新:

radians和degrees功能已集成到官方bqutil公共项目中。

将度数值转换为弧度:

SELECT bqutil.fn.radians(180)

3.141592653589793

将弧度值转换为度数:

SELECT bqutil.fn.degrees(3.141592653589793)

180.0

【讨论】:

以上是关于标准 SQL 弧度函数的主要内容,如果未能解决你的问题,请参考以下文章

Lua中的一些库

c语言编程,sinx?

c语言编程中,sinx怎么表示?

C 库函数 – atan() - Break易站

math库函数都有啥

MySQL - 学习笔记 - 标准SQL函数 Standard SQL Functions