我尝试在SSIS表达式(作为新列)中计算SIN和COS,但我找不到任何表达式。
例如:

SIN(lat_org_rad) COS(long_org_rad) ACOS(long_org_rad)
有人能帮我吗?
谢谢
发布于 2019-04-30 03:02:44
SSIS: COS()、SIN()、ACOS()无法使用SSIS来实现,你必须编写一个脚本组件来实现,使用的是.NET框架中的System.Math汇编。
详细答案
我将此答案作为OP编写的答案的附加信息:
SSIS表达式语言包括一组在表达式中使用的函数,它们可以分为以下几组:
数学函数和time functions
下表(官方文档)包含SSIS表达式语言支持的数学函数:

基于此,SSIS表达式语言没有提供COS()、SIN()和ACOS()函数。
脚本组件
另一方面,您可以使用System.Math程序集从脚本组件转换中获得更高级的数学函数,该程序集包含下列文档中列出的高级方法:
参考文献
发布于 2019-04-29 20:16:15
我能够使用脚本组件解决这个问题:
public override void Entrada0_ProcessInputRow(Entrada0Buffer Row)
{
if (Row.latdestrad == 0)
{
Row.kms = 0;
}
else
{
Row.kms = Math.Acos(
(Math.Sin(Row.latorgrad) * (Math.Sin(Row.latdestrad))) +
(Math.Cos(Row.latorgrad) * (Math.Cos(Row.latdestrad)) * Math.Cos(Row.londestrad - Row.lonorgrad)))
* 57.29577951 * 111.302;
}
}https://stackoverflow.com/questions/55900321
复制相似问题