SQL数学函数学习

笔记来自如鹏网杨中科老师所著的 《程序员的SQL金典》

#创建数据库表
CREATE Table T_Person (
  FIdNumber VARCHAR(20),
  FName varchar(20),
  FBirthDay DateTime,
  FRegDay   DateTime,
  FWeight   DECIMAL(10,2)
)
#插入数据
insert into T_Person(FidNumber,FName,FBirthDay,FRegDay,FWeight) VALUES(‘123456789120‘,‘Tom‘,‘1981-03-22‘,‘1998-05-01‘,56.67);
insert into T_Person(FidNumber,FName,FBirthDay,FRegDay,FWeight) VALUES(‘123456789121‘,‘Jim‘,‘1987-01-18‘,‘1999-08-21‘,36.17);
insert into T_Person(FidNumber,FName,FBirthDay,FRegDay,FWeight) VALUES(‘123456789122‘,‘Lily‘,‘1987-11-08‘,‘2001-09-18‘,40.33);
insert into T_Person(FidNumber,FName,FBirthDay,FRegDay,FWeight) VALUES(‘123456789123‘,‘Kelly‘,‘1982-07-12‘,‘2000-03-01‘,46.23);
insert into T_Person(FidNumber,FName,FBirthDay,FRegDay,FWeight) VALUES(‘123456789124‘,‘Sam‘,‘1983-02-16‘,‘1998-05-01‘,48.68);
insert into T_Person(FidNumber,FName,FBirthDay,FRegDay,FWeight) VALUES(‘123456789125‘,‘Kerry‘,‘1984-08-07‘,‘1999-03-01‘,66.67);
insert into T_Person(FidNumber,FName,FBirthDay,FRegDay,FWeight) VALUES(‘123456789126‘,‘Smith‘,‘1980-01-09‘,‘2002-09-23‘,51.28);
insert into T_Person(FidNumber,FName,FBirthDay,FRegDay,FWeight) VALUES(‘123456789127‘,‘BillGates‘,‘1972-07-18‘,‘1995-06-19‘,60.32);

#1、求绝对值: MySQL 、 MSSQL Server 都适合
#ABS(X)函数,该函数接受一个参数。
select FWeight-50,ABS(FWeight-50),ABS(-5.38) FROM T_Person

#2、求指数:   MySQL 、 MSSQL Server 都适合
#POWER(X,Y)函数,该函数接受两个参数。 第一个参数为待求幂的表达式,第二个参数为幂。
select FWeight ,Power(FWeight,-0.5),POWER(FWeight,2),POWER(FWeight,3),POWER(FWeight,4) from T_Person

#3、求平方根:  MySQL 、 MSSQL Server 都适合
#SQRT(X) 函数。该函数接受一个参数。这个参数为待计算平方根的表达式。
select FWeight,SQRT(FWeight) from T_Person

#4、求随机数
#MySQL 中 Rand() 函数
select Rand()
#MSSQL Server 中 Rand()函数。和MySQL使用方法一样。但是还提供了一个参数 Rand(X) 这个参数为随机数种子。
select Rand(2017)

#5、舍入到最大整数  ----  取天花板数。 这个函数用来舍掉一个数的小数点后的部分,并且向上舍入到邻近的最大的整数。比如 3.33 将被舍入为 4
#MySQL  中 CEIL(X) 、 CEILING(X)  都可以
select FWeight,CEIL(FWeight) FROM T_Person
select FWeight,CEILING(FWeight) from T_Person
#MSSQL Server 中只支持 CEILING(X)
select FWeight,CEILING(FWeight) from T_Person

#6、舍入到最小整数  ----  取地板数。  这个函数用来舍掉一个数的小数点后的部分,并且向下舍入到邻近的最小的整数。比如 3.33 将被舍入为 3
#MySQL  、 MSSQL Server 中 FLOOR(X)函数。
select FWeight,FLOOR(FWeight) from T_Person
#7、四舍五入   ---- ROUND()函数将数值向最近的数值舍入。在英语中 ROUND 可以理解为“半径” ,舍入到“离我半径最近的数”当然也就是四舍五入了。
#ROUND(X)   ROUND(X,D)函数 该函数可接受一个 参数的,也可接受两个参数的。
  #1)、两个参数的ROUND(X,D)函数 。
        X为待进行四舍五入的数值,而D为计算精度,
        也就是进行四舍五入时保留的小数位数。
        当 D 为 0 的时候则表示不保留小数位进行四舍五入。比如 3.663 进行精度为2的四舍五入得到 3.66。
        当 D 为 0 的时候则表示不保留小数位进行四舍五入。比如 3.663 进行精度为 0 的四舍五入得到 4
        注意:D也可以为负数。这时表示在整数部分进行四舍五入
        比如 233.7 进行精度为-2 的四舍五入得到 200。 36.63 进行精度为-1 的四舍五入得到 40。
select FName , FWeight ,ROUND(FWeight,1),ROUND(FWeight*-1,0),ROUND(FWeight,-1) from T_Person

  #2)、单一参数的ROUND(X)函数。
        X 为待进行四舍五入的数值,它可以看做精度为 0 的四舍五入运算, 也就是 ROUND(m,0) 比如 3.663 进行四舍五入得到 4
select FName,FWeight,ROUND(FWeight),ROUND(FWeight*-1) FROM T_Person

#8)、求正弦值:
#SIN(X) 该函数接受一个参数。
select FName,FWeight, SIN(FWeight)  from T_Person

#9)、求余弦值:
#COS(X) 该函数接受一个参数。
select FName ,FWeight,COS(FWeight) from T_Person

#10)、求反正弦值:
#ASIN(X) 该函数接受一个参数。
select FName ,FWeight ,ASIN(1/FWeight) FROM T_Person

#11)、求反余弦值:
#ACOS(X) 该函数接受一个参数。
SELECT FName ,FWeight ,ACOS(1/FWeight) FROM T_Person

#12)、求正切值:
#TAN(X) 该函数接受一个参数。
select FName ,FWeight ,TAN(FWeight) from T_Person

#13)、求反正切值:
#MySQL 中支持  ATAN(X) ATAN(X,Y) ATAN2(X,Y)  。后两个的计算结果一样。
#ATAN2(X,Y),函数返回 2 个变量 X 和 Y 的反正切
select FName ,FWeight ,ATAN(FWeight) from T_Person
select FName ,FWeight ,ATAN(FWeight,2) from T_Person
select FName ,FWeight ,ATAN2(FWeight,2) from T_Person

#MSSQL Server 中 支持 ATAN(X) ATN2(X,Y)
select FName ,FWeight ,ATAN(FWeight) from T_Person
select FName ,FWeight ,ATN2(FWeight,2) from T_Person

#14)、求余切:
#COT(X) 该函数接受一个参数。
select FName ,FWeight ,COT(FWeight) from T_Person

#15)、求圆周率π值:
#PI()  该函数不接受参数。
select FName ,FWeight ,FWeight*PI() from T_Person

#16)、 弧度制转换为角度制:
#DEGREES(X)  该函数接受一个参数。  角度制=弧度制*180/π
select FName ,FWeight ,DEGREES(FWeight) from T_Person
select FName ,FWeight ,(FWeight*180)/ACOS(-1) from T_Person

#17)、角度制转换为弧度制:
#RADIANS(X) 该函数接受一个参数。    弧度制=角度制*π/180
select FName ,FWeight ,RADIANS(FWeight) from T_Person
select FName ,FWeight ,(FWeight*ACOS(-1))/180 from T_Person

#18)、求符号:
#SIGN(X) 该函数接受一个参数。 如果数值大于 0 则返回 1,如果数值等于 0 则返回 0,如果数值小于 0 则返回-1。
select FName ,FWeight-48.68 ,SIGN(FWeight-48.68) FROM T_Person

#19)、求整除余数:
#MySQL中提供了MOD()函数 :用来计算两个数整除后的余数。第一个参数为除数,第二个参数为被除数。
select FName,FWeight,MOD(FWeight , 5) FROM T_Person

#MSSQL Server不支持MOD()。 不过直接支持操作符 "%" 用来计算两个数的整数余数。
select FName ,FWeight , FWeight%5 from T_Person

#20)、求自然对数:
#MySQL中:
#LOG(X) 该函数接受一个参数。 也接受两个数的参数。
#LOG(B,X) B为自己输入的整数。 X为待求的参数。
#MySQL支持以2为底、以10为底的,以任意自己输入的为底的对数。
select FName ,FWeight ,LOG(FWeight) from T_Person
select FName ,FWeight ,LOG2(FWeight) from T_Person
select FName ,FWeight ,LOG10(FWeight) from T_Person
select FName ,FWeight ,LOG(2,FWeight) from T_Person

#MSSQL Server中:
#只支持LOG(X) 、LOG10(X) 为底的对数。
select FName ,FWeight ,LOG(FWeight) from T_Person
select FName ,FWeight ,LOG10(FWeight) from T_Person

#21)、求幂:
#POWER(X,Y) 该函数接受两个参数 。X 为次幂 Y 为待求幂的字段
#MySQL 中
select FName , FWeight , POWER(2,FWeight) from T_Person
select FName , FWeight , POW(2,FWeight) from T_Person

#MSSQL Server 中支持 POWER(X,Y)
select FName , FWeight , POWER(2,FWeight) from T_Person 
时间: 2024-11-06 07:09:31

SQL数学函数学习的相关文章

SQL数学函数

-数学函数--ABS绝对值 select ABS(-7)--ceiling 取上线select CEILING(3.14)-- floor 取下线select FLOOR(4.14)--power 几次方 select (2,3)--round 四舍五入 整数部分为奇数偶数 ,小数部分.5的时候不一样select round(4.5,0)--sqrt 开平方 select sqrt(4)--square平方select square(2) --字符串函数 --ASCII 返回字符串最左边的字符的

sql 数学函数and字符串函数and日期函数

一.数学函数 数学函数主要用于处理数字,包括整型.浮点数等. ABS(x) 返回x的绝对值 SELECT ABS(-1) -- 返回1 CEIL(x),CEILING(x) 返回大于或等于x的最小整数 SELECT CEIL(1.5) -- 返回2 FLOOR(x) 返回小于或等于x的最大整数 SELECT FLOOR(1.5) -- 返回1 RAND() 返回0->1的随机数 SELECT RAND() --0.93099315644334 RAND(x) 返回0->1的随机数,x值相同时返

ORACLE PL/SQL 字符串函数、数学函数、日期函数

ORACLE PL/SQL 字符串函数.数学函数.日期函数 --[字符串函数] --字符串截取substr(字段名,起始点,个数) select Name,substr(Name,2,4),substr(Name,0,3),substr(Name,-2,3),substr(Name,-2,1) from t1; --字符串从前面取三个(0开始) select Name,substr(Name,0,3) from t1; --字符串从后面取三个 select Name,substr(Name,-3

数据库开发基础-SQl Server 聚合函数、数学函数、字符串函数、时间日期函数

SQL 拥有很多可用于计数和计算的内建函数. 函数的语法 内建 SQL 函数的语法是: SELECT function(列) FROM 表 函数的类型 在 SQL 中,基本的函数类型和种类有若干种.函数的基本类型是: Aggregate 函数 Scalar 函数 合计函数(Aggregate functions) Aggregate 函数的操作面向一系列的值,并返回一个单一的值. 注释:如果在 SELECT 语句的项目列表中的众多其它表达式中使用 SELECT 语句,则这个 SELECT 必须使

数据库 基础学习5— 数学函数

1.--数学函数 select degree ,sqrt(degree) from score --开平方,平方根 select price, ceiling(Price) from car -- 取大于当前小数的最小整数 select price, floor(Price) from car -- 取小于当前小数的最大整数 select price, round(Price,-1) from car -- 四舍五入,保留几位 select ABS(-2) -- 取绝对值 select RAND

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

  数学函数主要用来处理数值数据,主要的数学函数有:绝对值函数,三角函数(包括正弦函数,余弦函数,正切函数,余切函数).对数函数,随机函数等.在错误产生时,数学函数将返回空值null.本次介绍各种数学函数的功能和用法. 1.绝对值函数ABS(x)和返回圆周率的函数PI()  ABS(x)返回x的绝对值,PI()返回圆周率的值  eg: select ABS(2),ABS(-3.3),ABS(-33),PI(); 正数的绝对值是其本身,2的绝对值为2:负数的绝对值为其相反数,-3.3的绝对值为3.

SQl Server 函数篇 数学函数,字符串函数,转换函数,时间日期函数

数据库中的函数和c#中的函数很相似 按顺序来, 这里价格特别的 print  可以再消息栏里打印东西 数学函数 ceiling()  取上限   不在乎小数点后面有多大,直接忽略 floor()     取下限   同上 round(列名,保留的位数)   四舍五入   保留小数最后那位数进不进一只看保留位数的后一位数够不够条件,再往后的就不管了 ABS()     绝对值---防抱死233 PI()        圆周率   就是查询一个圆周率 SQRT()平方根 字符串函数 upper()

SQL server聚合函数、数学函数、字符串函数

一.基础语句 二.数学函数与字符串函数 三.练习 1.创建一个学生信息表,根据要求写出程序 2.新建一个超市表,进了十种商品,个数都是十件

SQL Server数学函数

数学函数 1.计算绝对值ABS ABS函数对一个数值表达式结果计算绝对值(bit数据类型除外),返回整数. 语法结构: ABS(数值表达式) 返回值:与数值表达式类型一致的数据 示例: SELECT ABS(-1) --输出 1 2.获取大于等于最小整数值Celling CEILING函数返回大于等于数值表达式(bit数据类型除外)的最小整数值.俗称天花板函数,尽量往大的取整. 语法结构: CEILING(数值表达式) 返回值:与数值表达式类型一致的数据. 示例: SELECT Celling(