度过了一个冬眠,在春末夏初之际,补充自己的营养,努力学习,努力工作!

SQL SERVER的数学函数

上一篇 / 下一篇  2008-06-26 12:12:01 / 个人分类:数据库知识

能在SOL Server的数学函数中使用的数据类型包括:decimal,integer,float,real,money,smallmoney,smallint和tinyint。在默认情况下,数学函数把传递给它的数字当作十进制整数对待。
u;T*|v v#T0  在SOL Server中,数学运算的顺序与普通数学运算一致。
i7lD3N'OV0
  1. 首先执行括号里的运算;
  2. 再执行乘方与开方运算
  3. 再按先乘除后加减的规则进行计算
  4. 最后执行逻辑运算
常用的SOL Server数学函数
&iU0ex1X6nb0

1.     ABS(数值型表达式)求绝对值函数                 返回数值型表达式的绝对值,返回值的数据类型与输入参数的数据类型一致。例如:select ABS(-3.0),ABS(0.0),ABS(2.0),ABS(5-4.5)返回结果:                            ——————————————————                     3.0  .0   2.0   4.0

%c@{.F1oF$w0

2.     ACOS(float型表达式)反余弦函数                 

"^)~7[9}]8r/?0

返回以弧度为单位的角度值,参数为realfloat数据类型

r}-s,p4K.r n1U0

3.     ASIN(float型表达式)反正弦函数                 返回以弧度为单位的角度值,参数为realfloat数据类型51Testing软件测试网+V#]3N3w@

4.     ATAN(float型表达式)反正切函数                 返回以弧度为单位的角度值,参数为realfloat数据类型51Testing软件测试网J~ m{}

5.     ASCII(字符型表达式)求ASCII码函数               返回字符型数据的ASCII值,返回的数值类型为整形。例如:   select ASCII("d"),ASCII("D"),ASCII("z"),ASCII("Z")  返回值是:100   68   122   90

qv5n q[0

6.     AVG[ALL|DISTINCT]表达式) 求平均值函数         求一组数据的平均值,如果这组数据中包含有NULL的数据,该数据将会被忽略。ALL关键字表示所有的数值都将会被计算在 内,DISTINCT关键字表示相同数值的数据将只会计算一次,默认取值为ALL。例如:                          select avg(advance) from titles where type='business'51Testing软件测试网"LU:k5^ w7X$SJ5A

7.     COUNT({[ALL|DISTINCT]表达式]|*})计数函数          求这一组数据的个数,ALLDISTINCT关键字的意义同上。COUNT(*)返回这一组里所有的数据 包括重复数值和NULL   例如: select count (distinct city),count(all city) from authors

*wY8~.k&r&A0

8.     DEGREES(numeric型表达式)角度转换函数            

e!`H[!y/i$n!J0

将以numeric型表达式给出的弧度转换成角度类型的数值。例如:

J g6Nl^J9Jn0

   select "the number of degrees in PI/3 radians is:"+convert(varchar,degrees(PI()/3))

j| N~ k:b0

9.     CEILING(数值型表达式)

C_?@(KB;L7M6E#u[)RX0

   返回最小的大于或等于给定数值型表达式的整数值。返回值的数据类型与参数的数据类型相同。例如:51Testing软件测试网7z r*]#Us

select ceiling($999.99),ceiling($-999.99),ceiling($0.0)51Testing软件测试网,R6|4f9}K"M!isa

10. FLOOR(数值型表达式)51Testing软件测试网Bs0p sQ-s)_;mg

返回最大的小于或等于给定数值型表达式的整数值。返回值的数据类型与参数的数据类型相同。51Testing软件测试网B+cw)Xv&\

select floor($999.99),floor($-999.99),floor($0.0)

#f/eS9z'f#Lm0

11. LOGfloat表达式)求自然对数函数

@lL}$C q(V0

   返回给定参数值的自然对数结果。

:L0_TN9TYl0}0

12. LOG10float表达式)求常用对数函数51Testing软件测试网 @0T%qr@

返回给定参数值的常用对数结果。

7XF1cq3`/f%Up0

13. POWER(数值型表达式子,数值表达式样)乘方运算函数

3@ R&q3\I,Zw0U0

进行乘方运算,POWER2,3)表示2的3次方。乘方运算函数返回值的数据类型与第一个参数数据类型相同。例如:51Testing软件测试网M3Ub G]6H.nP4_

select power(2,-3),power(2.0,-3),power(2.00000,-3)51Testing软件测试网'u-n7eB D%e'N,\B#@J

SQL server支持负数的乘方运算。由于返回值与第一个参数的数据类型相同,所以当第一个参数为整数时,返回值被转换成了整数(0.125转换成整数是0),当第一个参数是一位小数,返回值也相应保留一位小数。

@;r*Z/x#z!e n(CSZC0

14. EXP(float表达式)求自然指数运算51Testing软件测试网1Iw M7A4[

    求指定float表达式的自然指数值

;|-@+u5D,s1I8E`2I0

15. PI()求圆周率运算51Testing软件测试网 d$l"o`7_

不使用参数,返回圆周率的正确数值。

_o4]GJ0

16. SQRT(float表达式)求平方根

Z|G;Jn[A*v0

求指定float表达式的平方根,返回float型的结果

/k7FW#}8[0

17. SQUARE(float表达式)求平方值51Testing软件测试网@p]*Z&OaL

返回指定float表达式的平方,返回值依然是float型。

epwI-~qT qB5yh0

18. SIGN(数值型表达式)51Testing软件测试网ATt rcW

判断相应数值表达式的正负属性。在SQL server中用+1表示正数,用-1表示负数。例如:select sign(2),sign(-3.5),返回值为:1 -1.051Testing软件测试网,XGJ K$hu p

19. RAND(整型表达式)产生随机数

?GB"oW3IB/^0

返回一个位于0和1之间的随机数。整型表达式在这里起着产生随机数的起始值的作用。例如:declare @counter smallint51Testing软件测试网w6@X4T~6c3^~7d

set @counter=1

2[OZ0M9~?*OE0

while @counter<5

C)b3^%@o$u3sVU0

begin51Testing软件测试网3lA'I |O#b;@#Y y

 select rand(@counter)

o*{SM"U7~&zO~ [{0

 set @counter=@counter+1

q;^fr-V P0

end51Testing软件测试网:K ^%},E r!yJ|

这个例子产生了个随机数,分别使用1234来作各自随机数的起始值。51Testing软件测试网%o4[B9r7Q1j/Y2R

20. ROUND(数值表达式,整数)四舍五入51Testing软件测试网E3dO:e#E h$|[2V!a#A

将数值表达式四舍五入成整数指定精度的形式。在这里,整数可以是正数或负数,正数表示要进行运算的位置在小数点后,反之要运算的位置在小数点前。例如:

]:G?I+{:s+^;y0

select round(888.88,-1),round(888.88,-2),round(888.88,-3),round(888.88,0)返回结果是:890.00 900.001000.00   889.00

gky v;hs@{y0

  1. eo-b Tf0

TAG: 数据库知识

 

评分:0

我来说两句

Open Toolbar