当前位置: 首页 > news >正文

MySQL数值型函数详解

简介

本文主要讲解MySQL数值型函数,包括:ROUND、RAND、ABS、MOD、TRUNCATE、CEIL、CEILING、FLOOR、POW、POWER、SQRT、LOG、LOG2、LOG10、SIGN、PI

本文所有示例中,双横杠左边为执行的SQL语句,右边为执行语句的返回值。

ROUND函数

语法:ROUND(X)ROUND(X,D),返回对数值X四舍五入后的结果,如果带有参数D,则表示保留小数点后D位。

示例:

select ROUND(8);-- 8
select ROUND(8,1);-- 8
select ROUND(8.88);-- 9
select ROUND(8.18);-- 8
select ROUND(8.88,1);-- 8.9
select ROUND(8.18,1);-- 8.2

RAND函数

语法:RAND()RAND(N),如果不带参数,则表示生成[0-1)范围内(即大于等于0且小于1)的不重复的随机数,如果带随机数种子值参数N,则会生成可重复的随机数。

示例:

select RAND();-- 0.09054436263679001
select RAND();-- 0.19845362305497158
select RAND(1);-- 0.40540353712197724
select RAND(1);-- 0.40540353712197724

ABS函数

语法:ABS(X),求数值X的绝对值,若X是正数或者0,则返回其本身,若X是负数,则返回其对应的相反数。

示例:

select ABS(1.8);-- 1.8
select ABS(0);-- 0
select ABS(-8);-- 8

MOD函数

语法:MOD(N,M),返回N除以M后的余数,N和M都可以为小数或负数。

示例:

select MOD(8,3);-- 2
select MOD(-8,3);-- 返回:-2
select MOD(8,2);-- 0
select MOD(-8,2);-- 0
select MOD(1.8,2);-- 1.8
select MOD(8.8,2);-- 0.8
select MOD(8.8,1.8);-- 1.6

TRUNCATE函数

语法:TRUNCATE(X,D),若D为正数,则表示对X舍弃小数部分后D位,若D为负数,则表示对X舍弃整数部分后D位,且连同小数部分一起舍弃。

示例:

select TRUNCATE(8,1);-- 8
select TRUNCATE(8.88,1);-- 8.8
select TRUNCATE(0.18,1);-- 0.1
select TRUNCATE(-0.18,1);-- -0.1
select TRUNCATE(8888,-2);-- 8800
select TRUNCATE(8888.888,-2);-- 8800

CEIL或CEILING函数 

语法:CEIL(X)CEILING(X),两个函数效果相同,返回不小于X的最小整数,X可以为负数。

示例:

select CEIL(8.1);-- 9
select CEIL(8.8);-- 9
select CEIL(-8.8);-- 返回:-8
select CEIL(8);-- 8

FLOOR函数 

语法:FLOOR(X),返回不大于数值X的最大整数,X可以为负数。

示例:

select FLOOR(8.1);-- 8
select FLOOR(-8.8);-- 返回:-9
select FLOOR(8);-- 8

POW或POWER函数 

语法:POW(X,Y)POWER(X,Y),两个函数效果相同,返回X的Y次幂。

示例:

select POW(2,3);-- 8
select POW(1.8,3);-- 5.832000000000001

select POW(2,1.8);-- 3.4822022531844965
select POW(1.8,2.8);-- 5.18517017472299
select POW(-2,3);-- 返回:-8
select POW(2,-3);-- 0.125
select POW(-2,-3);-- 返回:-0.125
select POW(0,3);-- 0
select POW(8,0);-- 1
select POW(0,0);-- 1

SQRT函数 

语法:SQRT(X),返回数值X的平方根,若X为负数则会返回NULL。

示例:

select SQRT(64);-- 8
select SQRT(8);-- 2.8284271247461903
select SQRT(0);-- 0
select SQRT(64.8);-- 8.049844718999243

LOG函数 

语法:LOG(B,X)LOG(X),若同时带参数B和X,则表示获取B为底X的对数,若只带参数X,那就是自然对数,表示获取以常数e为底X的对数,若B或X中任一参数为0或负数,则返回NULL。

示例:

select LOG(2,8);-- 3
select LOG(1.8,8);-- 3.5377487545181276
select LOG(2,8.8);-- 3.137503523749935
select LOG(1.8,8.8);-- 3.69989972781419
select LOG(10);-- 2.302585092994046
select LOG(8.8);-- 2.174751721484161

LOG2或LOG10函数 

语法:LOG2(X)LOG10(X),两个函数分别返回以2和10为底X的对数。

示例:

select LOG2(8);-- 3
select LOG2(64);-- 6
select LOG10(10);-- 1
select LOG10(100);-- 2

SIGN函数 

语法:SIGN(X),返回数值X的符号,X大于0时,返回1,X等于0时,返回0,X小于0时,返回-1。

示例:

select SIGN(8);-- 1
select SIGN(0);-- 0
select SIGN(-8.8);-- 返回:-1

PI函数 

语法:PI(),返回π的值。

示例:

select PI();-- 3.141593

http://www.lryc.cn/news/525064.html

相关文章:

  • 54.DataGrid数据框图 C#例子 WPF例子
  • 总结6..
  • 复位信号的同步与释放(同步复位、异步复位、异步复位同步释放)
  • Gartner发布2025年网络治理、风险与合规战略路线图
  • 基于STM32的智能空气质量监测与净化系统设计
  • 人工智能之数学基础:线性代数中的线性相关和线性无关
  • 08 工欲善其事必先利其器—常用类
  • Redis实战-初识Redis
  • spring boot中实现手动分页
  • 【优选算法】5----有效三角形个数
  • C++打字模拟
  • 最新版pycharm如何配置conda环境
  • UML-对象图(Object Diagram)
  • Jmeter 动态参数压力测试时间段预定接口
  • 超大型集团合并报表数智管理转型
  • [MCAL]Mcu配置
  • Qt基础项目篇——Qt版Word字处理软件
  • 算法刷题笔记——图论篇
  • Java空指针异常处理:判空、Optional与Assert解析
  • 【vim】vim编辑器如何设置行号
  • MySQL可直接使用的查询表的列信息
  • 在线宠物用品|基于vue的在线宠物用品交易网站(源码+数据库+文档)
  • 《安富莱嵌入式周报》第349期:VSCode正式支持Matlab调试,DIY录音室级麦克风,开源流体吊坠,物联网在军工领域的应用,Unicode字符压缩解压
  • 使用LabVIEW的History功能实现队列数据的读取而不清空
  • 电脑如何访问手机文件?
  • SpringBoot实现定时任务,使用自带的定时任务以及调度框架quartz的配置使用
  • java上传图片功能实现
  • 73,【5】BUUCTF WEB [网鼎杯 2020 玄武组]SSRFMe(未解出)
  • 【FreeRTOS 教程 一】任务结构体及其基础创建使用
  • 深入剖析 JVM 内存模型