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
SQL数学函数学习的更多相关文章
- sql server 函数学习
sql server 创建函数 资料 https://docs.microsoft.com/zh-cn/sql/relational-databases/user-defined-functions/ ...
- Oracle SQL函数之数学函数
Oracle SQL函数之数学函数 ABS(x) [功能]返回x的绝对值 [参数]x,数字型表达式 [返回]数字 SQL> SELECT ABS(),ABS(-) FROM DUAL; ABS( ...
- SQL Server 2008 R2 常用系统函数学习
/******************************************* * 聚合函数 *******************************************/ SEL ...
- sql server 系统常用函数:聚合函数 数学函数 字符串函数 日期和时间函数和自定义函数
一.系统函数 1.聚合函数 聚合函数常用于GROUP BY子句,在SQL Server 2008提供的所有聚合函数中,除了COUNT函数以外,聚合函数都会忽略空值AVG.COUNT.COUNT_BIG ...
- Spark学习之路(十一)—— Spark SQL 聚合函数 Aggregations
一.简单聚合 1.1 数据准备 // 需要导入spark sql内置的函数包 import org.apache.spark.sql.functions._ val spark = SparkSess ...
- oracle学习笔记(九) SQL常用函数说明以及使用
SQL常用函数说明以及使用 以下补充以下常用的函数,更多的请看oracle函数API文档 to_char to_char(8.58,'9.99') to_char(8.50,'9.00') to_ch ...
- MySQL 进阶4 SQL常见函数: 字符函数/数学函数/日期函数/流程控制函数(if/case)
# 进阶4 SQL常见函数 分类: 1/单行函数: 字符函数: concat(),length(),ifnull(__,default) ,instr(), trim(),upper(),lower( ...
- Sql Server函数全解<二>数学函数
阅读目录 1.绝对值函数ABS(x)和返回圆周率的函数PI() 2.平方根函数SQRT(x) 3.获取随机函数的函数RAND()和RAND(x) 4.四舍五入函数ROUND(x,y) 5.符号函数SI ...
- Sql Server函数全解(二)数学函数
数学函数主要用来处理数值数据,主要的数学函数有:绝对值函数,三角函数(包括正弦函数,余弦函数,正切函数,余切函数).对数函数,随机函数等.在错误产生时,数学函数将返回空值null.本次介绍各种数学 ...
- 数据库开发基础-SQl Server 聚合函数、数学函数、字符串函数、时间日期函数
SQL 拥有很多可用于计数和计算的内建函数. 函数的语法 内建 SQL 函数的语法是: SELECT function(列) FROM 表 函数的类型 在 SQL 中,基本的函数类型和种类有若干种.函 ...
随机推荐
- 12月12日内容总结——Django之数据增删改查、Django请求生命周期流程图、Django路由层(路由匹配、转换器、正则匹配)、反向解析
目录 一.可视化界面之数据增删改查 二.django请求生命周期流程图 三.django路由层 1.路由匹配 2.转换器 3.正则匹配 不同版本的区别 正则匹配斜杠导致的区别 4.正则匹配的无名有名分 ...
- Solon2 开发之容器,八、动态代理的本质
在 Java 里动态代理,主要分:接口动态代理 和 类动态代理.因为它的代理类都是动态创建的,所以名字里会带上"动态". 官网的有些地方叫"代理",也有些地方叫 ...
- XMind 2022 Win/macOS 使用教程
XMind简介 XMind 2022 Win/macOS (强大的思维导图软件).XMind 是一款让你专注思维,捕捉每一个灵感瞬间的 App.每当萌生新想法时,「XMind」帮你专注于它的扩展延伸和 ...
- .net gRPC初探 - 从一个简单的Demo中了解并学习gRPC
一..NET 上的 gRPC 的简介 gRPC 是一种与语言无关的高性能远程过程调用 (RPC) 框架. gRPC 的主要优点是: 现代高性能轻量级 RPC 框架. 协定优先 API 开发,默认使用协 ...
- StatisticalOutlierRemoval:离群点移除
1.简介 StatisticalOutlierRemoval滤波器主要用于剔除离群点,或则测量误差导致的粗差点. 滤波思想为:对每一个点的邻域进行一个统计分析,计算它到所有临*点的*均距离.假设得到的 ...
- 3 .NET Core笔试题
1.什么是ASP.NET Core? 2.ASP.NET Core 中AOP的支持有哪些? 3.ASP.NET Core Filter的注册方式有哪些? 4.ASP.NET Core Filter如何 ...
- 什么是MES(Manufacturing Execution System)
"本文仅代表个人观点" 本文档将提供一个高层次的概述,以帮助阐明什么是MES,并触及通常被归为MES的周边领域. 整体情况 制造执行系统或MES软件是旨在帮助公司管理其制造过程的工 ...
- Java基础语法:注释、数据类型、字节
Java基础语法:注释.数据类型.字节 注释 单行注释:// 多行注释:/* 注释 */ 文档注释:/** 注释 */ 数据类型分为两大类:基本类型和引用类型 八大基本数据类型 整数类型 byte(占 ...
- Python中的魔术方法大全
魔术方法 一种特殊的方法而已 特点 不需要人工调用,在特定时刻自动触发执行 魔术方法种类 1.__init__初始化方法******* 触发时机:实例化对象之后触发作用:为对象添加对象的所属成员参数: ...
- TCTrack
TCTrack TCTrack: Temporal Contexts for Aerial Tracking,空中追踪的时间上下文 论文 官方代码 贡献: 提出了一种时间自适应卷积TAdaCNN. 提 ...