现在的位置: 首页 > 综合 > 正文

数学函数

2013年03月01日 ⁄ 综合 ⁄ 共 2584字 ⁄ 字号 评论关闭

 数学函数

数学函数通常返回对数值数据进行数学运算的操作结果。数学函数的形式:

function_name (arguments)

    Integer_expr可以是任何一种整数数据类型:intsmallinttinyint;

Float_expr可以是任何一种整数或浮点类型;

Numeric_expr可以是任何的整数、浮点或money类型。

 

函数名

参数

返回结果

Abs

(numeric)

表达式的绝对值。返回结果与数字表达式类型相同且精度和标度相同

Acos

(approx_numeric)

返回反余弦函数值(弧度)

Asin

(approx_numeric)

返回反正弦函数值(弧度)

Atan

(approx_numeric)

返回反正切函数值(弧度)

Atn2

(approx_numeric1, approx_numeric2)

返回approx_numeric/approx_numeric2的反正切函数值(弧度)

Ceiling

(numeric_expr)

大于等于指定值的最小整数。返回结果与数字表达式类型相同。对于numericdecimal类型表达式,返回结果的精度同表达式相同而标度不同

Cos

(approx_numeric)

返回指定角度(弧度)的余弦函数值

Cot

(approx_numeric)

返回指定角度(弧度)的余切函数值

Degress

(numeric_expr)

把弧度值转成角度值。返回结果与数字表达式类型相同。对于numericdecimal类型的表达式,返回结果的精度为77而标度与表达式的标度相同。当使用money数据类型时,内部转换为float并丢掉精度。

Exp

(float_expr)

指定值的指数值

Floor

(numeric_expr)

小于等于指定值的最大整数。返回结果与数字表达式类型相同。当表达式的数据类型为numericdecimal时,结果的精度与表达式相同而标度为0

Log

(float_expr)

指定值的自然对数值

Log10

(float_expr)

指定值的以10为底的对数值

Pi

()

返回值为3.1415926的常量

Power

(numeric,power)

返回numercipower次幂。返回结果与数字表达式类型相同。对于numericdecimal类型的表达式,返回结果的精度为77而标度与表达式的标度相同。当使用money数据类型时,内部转换为float并丢掉精度。

Radians

(numeric_expr)

把角度值转成弧度值。返回结果与数值表达式类型相同。对于numericdecimal类型的表达式,返回结果的精度为77而标度与表达式的标度相同.当使用money数据类型时,内部转换为float并丢掉精度

Rand

([integer])

返回01之间的随机浮点数。可选项integer_expr是种子。

Round

(numeric,integer)

把数值表达式四舍五入到指定的integer位。如果integer是正数,则确定小数点的右边有效位数,如果integer是负数,则确定小数点左边的有效位。返回数据与表达式的数据类型相同。对于numericdecimal数据类型的表达式,返回结果的精度为第一个参数的精度加1,而标度同表达式的标度相同

Sign

(numeric)

返回值的符号:正数(+1),零(0),或负数(-1)。返回结果与数字表达式类型相同,并且精度和标度也相同。

Sin

(numeric)

返回指定角度(弧度)的正弦函数值

Tan

(numeric)

返回指定角度(弧度)的正切函数值

Sqrt

(float_expr)

返回指定值的平方根。返回值必须为正数或 0

 

数学内部函数用于对数值数据进行计算。一些函数要求整型数据和近似数值类型数据。很多的函数用于操作精确数值类型,近似数值类型,moneyfloat数据类型。内部函数用于精确数值类型,近似数值类型,moneyfloat数据类型。内部函数对float类型操作的缺省精确度是6位小数。出错陷阱用来处理数学函数的值域或返回错误。用户可使用set命令来设置arithabortarithignore选项。在缺省情况下,arithabort的两个悬项arithabort_overflowarithboart numeric_trunaction都设置为on.

当选项arithabort arith_overflow设置为on时,如果出现被0除的情况,或是在进行显式或隐式的数据类型转换时损失了精度,则整个事务或批命令被回退。如果选项arithabort arith_overflow设置为offAdaptive Server 就会放弃产生错误的命令,但继续处理事务或命令。

选项arithabort arith_truncation处理隐式的数据类型转换时出现的损失标度的情况。当该选项被设置为on时,将放弃产生错误的命令并继续处理事物或批命令中的后续命令。如果该选项被设置为off,则adaptive server会自动截短查询结果并继续处理。

在缺省情况下,arithignore arith_overflow被设置为off。此时,在出现被0除错误或失去精读时,adaptive server显示信息。而此选项被设置为on时,则在出现错误之后忽略警告信息。

例子

select floor(123.45)        123                                              

select floor(-123.45)        -124

select floor($123.45)        123.00

 

select ceiling(123.45)       124

select ceiling(-123.45)      -123

select ceiling($123.45)      124.00

select round(123.4545,2)                123.4500

select round(123.45,-2)                  100.00

   round函数总返回一个值,即使其长度是非法的。如果指定长度是正值并且长于小数点后的位数,则零加在小数位后。如果长度是负数并且大于或等于小数点前的位数,round将返回0.00

 

 

 

抱歉!评论已关闭.