利用T-SQL数学函数做‘三角函数’运算(下)

日期: 2010-07-01 作者:Robert Sheldon翻译:冯昀晖 来源:TechTarget中国 英文

另一组与“SIN”和“ASIN”类似的函数是“COS”函数和“ACOS”函数。“COS函数返回指定角度的余弦值,而”ACOS”函数(被称为反余弦函数)返回指定余弦值的角度。下面的例子展示了这两个函数的用法:   DECLARE @angle2 float   SET @angle2 = 52.64   DECLARE @cosine float   SET @cosine = COS(@angle2)   SELECT   @Cosine AS Cosine,   ACOS(……

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

另一组与“SIN”和“ASIN”类似的函数是“COS”函数和“ACOS”函数。“COS函数返回指定角度的余弦值,而”ACOS”函数(被称为反余弦函数)返回指定余弦值的角度。下面的例子展示了这两个函数的用法:

  DECLARE @angle2 float
  SET @angle2 = 52.64
  DECLARE @cosine float
  SET @cosine = COS(@angle2)
  SELECT
  @Cosine AS Cosine,
  ACOS(@cosine) AS Arccosine

  首先,我声明“@angle2”变量为浮点类型,然后给它赋值为“52.64”。接下来我声明了“@cosine”变量,也是浮点类型,然后利用“COS”函数把“@angle2”的余弦值赋值给“@cosine”。最后,我创建了一个“SELECT”语句,计算“@cosine ”的值和它的反余弦值。要注意,我利用“ACOS”函数计算反余弦值。该反余弦值显示为弧度,如下面的结果列表所示:

CosineArccosine
-0.7199437141394162.37451754256331

  正如上面的结果所示,“52.64 ”的余弦值是“-0.719943714139416”,而该余弦值的反余弦值是“2.37451754256331”。

  另外两个与前面的函数类似的函数是“TAN”和“ATAN”。“TAN”函数返回浮点表达式的正切值,而“ATAN”函数返回正切值对应的角度(以弧度方式展现)。下面的例子展示了这两个函数的用法:

  DECLARE @angle3 float
  SET @angle3 = 52.64
  DECLARE @tangent float
  SET @tangent = SIN(@angle3)
  SELECT
  @tangent AS Tangent,
  ATAN(@tangent) AS Arctangent

  如你所见,这个例子与前两个例子几乎是一样的,只有返回的正切值和反正切值不一样,结果如下表所示:

TangentArctangent
0.6940324549119750.606709662224033

  SQL Server还支持“COT”函数,它返回指定角度的余切值。请看下面的例子:

  DECLARE @angle4 float
  SET @angle4 = 52.64
  DECLARE @cotangent float
  SET @cotangent = COT(@angle4)
  SELECT @cotangent AS Cotangent

  在这个例子中,我声明了“@angle4”变量,并赋值为“52.64”。然后,我声明了“@cotangent”变量,并把计算“@angle4”的余切值赋值给它。接下来,我用一个“SELECT”语句调用“@cotangent”变量。该语句返回结果如下:

Cotangent
-1.03733436245532

  现在,我们来看看“ATN2”函数。这个函数计算正x轴与原点到指定点(用“x,y”表示)组成直线之间的夹角。下面的例子展示了它的用法:

  DECLARE @x float
  SET @x = 52.64
  DECLARE @y float
  SET @y = 192.79
  SELECT ATN2(@x, @y) AS Angle

  要注意,我事先已经声明了“@x”和“@y”变量并给它们赋值了,然后在“ATN2”函数中把它们用作参数。接下来,我在“SELECT”语句中使用“ATN2”函数计算这个夹角,结果如下表所示:

Angle
0.266546088052137

  如你所见,x轴与“x,y”定义的射线之间的夹角是“0.266546088052137”度。

  在SQL Server中,你可以利用“RADIANS ”函数把角度转换为弧度,利用“DEGREES ”函数把弧度转换为角度,如下面的例子所示:

  DECLARE @degrees float
  SET @degrees = 22.5
  DECLARE @radians float
  SET @radians = RADIANS(@degrees)
  SELECT
  @radians AS [Radians],
  DEGREES(@radians) AS [Degrees]

  要执行该函数,我首先声明了“@degrees”变量,并给它赋值“22.5”度。接下来,我声明了“@radians”变量,然后利用“RADIANS”函数把“@degrees”的值转换为弧度,并赋给“@radians”变量。然后我定义了“SELECT”语句来计算“@radians”的值。接下来,我使用“DEGREES”函数把“@radians”值转换回角度,如下面结果所示:

RadiansDegrees
0.39269908169872422.5

  如你所见,“22.5”度转换成了“0.392699081698724”弧度,而我把该弧度转换回来成角度时,仍然是“22.5”。

  我想说明的另一个函数是“PI”,它只是计算“π”的值,请看下面的示例:

  DECLARE @pi float
  SET @pi = PI()
  SELECT
  @pi AS [PI],
  DEGREES(@pi/2) AS [Degrees]

  首先,我利用“PI”函数设置“@pi”变量的值为“π”,然后在“SELECT”语句中使用该函数,我计算了“π”的值,并把“π/2”转换为角度。该语句返回的结果如下所示:

PIDegrees
3.1415926535897990

  除了显示“π”的值,该结果显示了“π/2”是90度。

相关推荐