数学函数主要用来处理数值数据,主要的数学函数有:绝对值函数,三角函数(包括正弦函数,余弦函数,正切函数,余切函数)、对数函数,随机函数等。在错误产生时,数学函数将返回空值null。本次介绍各种数学函数的功能和用法。

1.绝对值函数ABS(x)和返回圆周率的函数PI()

 ABS(x)返回x的绝对值,PI()返回圆周率的值
 eg: select ABS(2),ABS(-3.3),ABS(-33),PI();
正数的绝对值是其本身,2的绝对值为2;负数的绝对值为其相反数,-3.3的绝对值为3.3,-33的绝对值为33。

2.平方根函数SQRT(x)

 SQRT(x)返回非负数x的二次方根
eg:select  SQRT(9), SQRT(40);

3.获取随机函数的函数RAND()和RAND(x)

 RAND(x)返回一个随机浮点值v,范围在0~1之间(即0<=v<=1.0).若指定一个整数参数x,则它被用作种子值,使用相同的种子数将产生重复序列。如果同一种子值多次调用RAND函数,它将返回同一生成值。
eg: select RAND(), RAND(), RAND();
 可以看到,不带参数的RAND()每次产生的随即数值是不同的。
eg: select RAND(10), RAND(10), RAND(11);
 可以看到,当RAND(x)的参数相同时,将产生相同的随机数,不同的x产生的随机数值不同。

4.四舍五入函数ROUND(x,y)

 ROUND(x,y)返回接近于参数x的数,其值保留到小数点后面y位,若y为负值,则将保留x值到小数点左边y位。
eg:select ROUND(1.38,1),  ROUND(1.38,0), ROUND(232.38,-1),  ROUND(232.38,-2);
  ROUND(1.38,1)保留小数点后面一位,四舍五入结果为1.4;ROUND(1.38,0)保留小数点后面0位,即返回四舍五入后的整数值,ROUND(232.38,-1)和ROUND(232.38,-2)分别保留小数点左边1位和2位。

5.符号函数SIGN(x)

 SIGN(x)返回参数的符号,x的值为负、零或正时,返回结果依次为-1、0或1。
eg: select SIGN(-21), SIGN(0), SIGN(21);
 SIGN(-21)返回-1,SIGN(0)返回0,SIGN(21)返回1

6.获取整数的函数CEILING(x)和FLOOR(x)

 CEILING(x)返回不小于x的最小整数值,FLOOR(x)返回不大于x的最大整数值;
 eg: select CEILING(-3.35), CEILING(3.35), FLOOR(-3.35), FLOOR(3.35);
 (1)、-3.35为负数,不小于-3.35的最小整数为-3,不小于3.35的最小整数值为4
 (2)、-3.35为负数,不大于-3.35的最小整数为-4,不大于3.35的最小整数值为3

7.幂运算函数POWER(x,y)、SQUARE(x)、和EXP(x)

 (i).  POWER(x,y)函数返回x的y次乘方的结果值;
 (ii). SQUARE(x)函数返回指定浮点值x的平方;
 (iii). EXP(x)函数返回e的x乘方后的值。
 eg: select  POWER(2,2), POWER(2.00,-2),  SQUARE(3), SQUARE(-3), SQUARE(0), EXP(3), EXP(-3), EXP(0);
 可以看到POWER(2,2)返回2的平方,结果为4;POWER(2.00,-2)返回2的-2次方,结果为0.25;
SQUARE(3)返回 3平方,结果为9;SQUARE(-3)返回-3的平方,结果为; SQUARE(0)返回0的平方,结果为0;
EXP(3)返回以e为底的3次方,结果为20.0855369231877, EXP(-3)返回以e为底的-3次方,结果为0.0497870683678639;
EXP(0)返回以e为底的0次方,结果为1。

8.对数的运算LOG(x)和LOG10(x)

 LOG(x)返回x的自然对数,x相对于基数e的对数。
 LOG10(x)返回x的基数为10的对数。
eg: select LOG(3),LOG(6),LOG10(1),LOG10(100),LOG10(1000);
 对数定义域不能为负数,10的0次方为1,所以LOG10(1)返回结果是0,10的2次方为100,所以LOG10(100)返回结果是2,10的3次方为1000,所以LOG10(1000)返回结果是3;

9.角度与弧度相互转换的函数RANDIANS(x)和DEGREES(x)

 RANDIANS(x)将参数x由角度转换为弧度。
 DEGREES(x)将参数x有弧度转换为角度。
eg: select RADIANS(90.0), RADIANS(180.0), DEGREES(PI()/2), DEGREES(PI());

10.正弦函数SIN(x)和反正弦函数ASIN(x)

 SIN(x)返回x的正弦,其中x为弧度值;
 ASIN(x)返回x的反正弦,即正弦x的值,若x不在-1到1的范围内,则返回NULL。
eg: select SIN(PI()/2),SIN(PI()),ASIN(1),ASIN(0);

11.余弦函数COS(x)和反余弦函数ACOS(x)

 COS(x)返回x的余弦,其中x为弧度值;
 ACOS(x)返回x的反余弦,即余弦x的值。若x不在-1到1范围之内,则返回NULL;
eg: select COS(0),COS(PI()),ACOS(1),ACOS(0);

12.正切函数TAN(x),反正切函数ATAN(x)和余切函数COT(x)

 TAN(x)返回x的正切,其中x为给定的弧度值;
 ATAN(x)返回x的反正切,即正切x的值;
 COT(x)返回x的余切。
eg:  select TAN(0.3),ROUND(TAN(PI()/2),0), ATAN(0.30933624960962325),ATAN(1),COT(0.3),1/TAN(0.3),COT(PI()/4);

Sql Server函数全解(二)数学函数的更多相关文章

  1. Sql Server函数全解<二>数学函数

    阅读目录 1.绝对值函数ABS(x)和返回圆周率的函数PI() 2.平方根函数SQRT(x) 3.获取随机函数的函数RAND()和RAND(x) 4.四舍五入函数ROUND(x,y) 5.符号函数SI ...

  2. Sql Server函数全解<一>字符串函数

    阅读目录 1.ASCII()函数 2.CHAR()函数 3.LEFT()函数 4.RIGHT()函数 5.LTRIM()函数 6.RTRIM()函数 7.STR()函数 8.字符串逆序的函数REVER ...

  3. Sql Server函数全解(一)字符串函数

    字符串函数用于对字符和二进制字符进行各种操作 1.ASCII()函数  ASCII(character_expression)函数用于返回字符串表达式中最左侧的ASCII代码值.参数character ...

  4. 学习如何看懂SQL Server执行计划(二)——函数计算篇

    二.函数计算部分 --------------------标量聚合--------------------/* 标量聚合-主要在聚合函数操作中产生 计算标量:根据行中的现有值计算出一个新值 流聚合:在 ...

  5. SQL Server进阶(十二)函数

    概述 函数有且只有一个输入参数和一个返回值,而存储过程没有这个限制: 返回表变量的函数可以当做VIEW或者临时表用在WHERE/HAVING/SELECT/JOIN语句中而存储过程不可以: 存储过程中 ...

  6. Sql Server函数全解<五>之系统函数

    原文:Sql Server函数全解<五>之系统函数  系统信息包括当前使用的数据库名称,主机名,系统错误消息以及用户名称等内容.使用SQL SERVER中的系统函数可以在需要的时候获取这些 ...

  7. Sql Server函数全解<四>日期和时间函数

    原文:Sql Server函数全解<四>日期和时间函数   日期和时间函数主要用来处理日期和时间值,本篇主要介绍各种日期和时间函数的功能和用法,一般的日期函数除了使用date类型的参数外, ...

  8. SQL Server 中截取字符串常用的函数

    SQL Server 中截取字符串常用的函数: 1.LEFT ( character_expression , integer_expression ) 函数说明:LEFT ( '源字符串' , '要 ...

  9. SQL Server中的LEFT、RIGHT函数

    SQL Server中的LEFT.RIGHT函数. LEFT:返回字符串中从左边开始指定个数字符. LEFT(character_expression,integer_expression); RIG ...

随机推荐

  1. Python join()函数

    今天写python 100例时,有个题目是大致是这样的:已知输入形式是1+3+2+1,要求输出形式为1+1+2+3 一开始思路是将输入的字符串用split()函数划分成数组,在对数组进行排序,再用fo ...

  2. Nodejs之MEAN栈开发(三)---- 使用Mongoose创建模型及API

    继续开扒我们的MEAN栈开发之路,前面两节我们学习了Express.Jade引擎并创建了几个静态页面,最后通过Heroku部署了应用. Nodejs之MEAN栈开发(一)---- 路由与控制器 Nod ...

  3. IIS发布站点错误收集(持续更新)

    本文主要收集IIS在发布站点过程中遇到的错误,并提供解决办法.并亲测可行.如果您也在使用IIS发布站点的过程中遇到了一些问题,欢迎留言提问. (1.) HTTP错误500.21-Internal Se ...

  4. EasyPR--开发详解(3)高斯模糊、灰度化和Sobel算子

    在上篇文章中我们了解了PlateLocate的过程中的所有步骤.在本篇文章中我们对前3个步骤,分别是高斯模糊.灰度化和Sobel算子进行分析. 一.高斯模糊 1.目标 对图像去噪,为边缘检测算法做准备 ...

  5. ASP.NET MVC 5 - 开始MVC5之旅

    本教程将使用Visual Studio 2013手把手教你构建一个入门的ASP.NET MVC5 Web应用程序.本教程配套的C#源码工程可通过如下网址下载:C#版本源码链接.同时,请查阅 Build ...

  6. IE浏览器打开chorme浏览器,如何打开其他浏览器

    看到这个标题是否感觉奇怪,为什么要用IE浏览器打开chorme或者火狐浏览器等,这个功能从开发者来说不是一个好的需求,但确实是真实存在的,有用公司的背景历史比较复杂,而且公司有过长期的开发历史,这导致 ...

  7. angularjs中的directive scope配置

    angularjs中的directive scope配置 定义directive其中重要的一环就是定义scope,scope有三种形式: 默认的scope,DOM元素上原有的scope scope: ...

  8. java compiler level does not match the version of the installed java project facet 解决方案

    项目出现 java compiler level does not match the version of the installed java project facet 错误,一般是项目移植出现 ...

  9. VMware 安装虚拟机安装MAC (OSX10_11)

    一.简述前言: 1.本案例是基于 VMware Workstation Pro(专业版)12 上创建一个MAC操作系统(版本 :OSX10_11),下面的步骤基本上和安装其他类型的虚拟机没有什么区别. ...

  10. Razor视图出现重复的解决方法