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.mzph.cn/web/66849.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

自动化01

测试用例的万能公式:功能测试界面测试性能测试易用性测试安全性测试兼容性测试 自动化的主要目的就是用来进行回归测试 新产品--第一个版本 (具备丰富的功能),将产品的整体进行测试,人工创造一个自动化测试用例,在n个版本的时候…

Spring中的事务管理器TransactionManager

目录 一、主要功能 二、使用场景说明 在Spring框架中,事务管理器(TransactionManager)是用于管理事务的重要接口。它提供了对事务的全面控制,包括事务的状态管理和资源管理等功能。本文将详细介绍TransactionManager的主要功能、…

c语言(转义字符)

前言: 内容: 然后记一下转义字符 \? 在书写连续多个问号时使用,防止他们被解析成三字母词 \ 用于表示字符常量 \\ 用于表示一个反斜杠,防止他被解析为一个转义序列符 \n 换行 \r …

Vue3 30天精进之旅:Day02 - 环境搭建

引言 在前一天的学习中,我们了解了Vue.js的基本概念和优势。今天,我们将进入实际开发的第一步——环境搭建。良好的开发环境是顺利开展项目的基础,本文将指导你在本地设置Vue开发环境,并快速上手第一个Vue项目。 1. 环境准备 在…

代码随想录 栈与队列 test 7

347. 前 K 个高频元素 - 力扣(LeetCode) 首先想到哈希,用key来存元素,value来存出现次数,最后进行排序,时间复杂度约为o(nlogn)。由于只需求前k个,因此可以进行优化,利用堆来维护这…

汇编实验·子程序设计

一、实验目的: 1.掌握汇编中子程序编写方法 2.掌握程序传递参数的基本方法,返回值的方法。 3.掌握理解子程序(函数)调用的过程 二、实验内容 1.编写汇编语言子程序,实现C表达式SUM=X+Y的功能,具体要求: 1)函数的参数传递采用寄存器实现 2)函数的参数传递采用堆栈…

jmeter中对接口进行循环请求后获取相应数据

1、工作中遇到一个场景就是对某个单一接口进行循环请求,并需要获取每次请求后返回的相应数据; 2、首先就在jmeter对接口相关组件进行配置,需要组件有:循环控制器、CSV数据文件设置、计数器、访问接口、HTTP信息头管理器、正则表达…

trimesh 旋转

trimesh.transformations.rotation_matrix(np.radians(rot_angle), rot_axis) np.radians(rot_angle):将角度 rot_angle 转换为弧度。trimesh 和大多数 3D 库通常使用弧度来表示旋转角度,而不是角度。 rot_axis:表示旋转轴的向量。例如&…

Jetson Xavier NX 安装 CUDA 支持的 PyTorch 指南

本指南将帮助开发者完成在 Jetson Xavier NX 上安装 CUDA 支持的 PyTorch。 安装方法 在 Jetson 上安装 Pytorch 只有两种方法。 一种是直接安装他人已经编译好的 PyTorch 轮子;一种是自己从头开始开始构建 PyTorch 轮子并且安装。 使用轮子安装 可以从我的 Gi…

Ansible fetch模块详解:轻松从远程主机抓取文件

在自动化运维的过程中,我们经常需要从远程主机下载文件到本地,以便进行分析或备份。Ansible的fetch模块正是为了满足这一需求而设计的,它可以帮助我们轻松地从远程主机获取文件,并将其保存到本地指定的位置。在这篇文章中&#xf…

【AI论文】生成式视频模型是否通过观看视频学习物理原理?

摘要:AI视频生成领域正经历一场革命,其质量和真实感在迅速提升。这些进步引发了一场激烈的科学辩论:视频模型是否学习了能够发现物理定律的“世界模型”,或者,它们仅仅是复杂的像素预测器,能够在不理解现实…

论文速读|Matrix-SSL:Matrix Information Theory for Self-Supervised Learning.ICML24

论文地址:Matrix Information Theory for Self-Supervised Learning 代码地址:https://github.com/yifanzhang-pro/matrix-ssl bib引用: article{zhang2023matrix,title{Matrix Information Theory for Self-Supervised Learning},author{Zh…

视觉语言模型 (VLMs):跨模态智能的探索

文章目录 一. VLMs 的重要性与挑战:连接视觉与语言的桥梁 🌉二. VLMs 的核心训练范式:四种主流策略 🗺️1. 对比训练 (Contrastive Training):拉近正例,推远负例 ⚖️2. 掩码方法 (Masking):重构…

数据结构——堆(介绍,堆的基本操作、堆排序)

我是一个计算机专业研0的学生卡蒙Camel🐫🐫🐫(刚保研) 记录每天学习过程(主要学习Java、python、人工智能),总结知识点(内容来自:自我总结网上借鉴&#xff0…

c++迷宫问题(migong)

今天的题目叫“迷宫问题(migong&#xff09;”&#xff0c;是“DFS深度优先搜索 递归”一类的。 题目描述 设有一个N*N(2<N<10)方格的迷宫&#xff0c;入口和出口分别在左上角和右上角。迷宫格子中 分别放0和1&#xff0c;0表示可通&#xff0c;1表示不能&#xff0c;入…

机器学习-线性回归(简单回归、多元回归)

这一篇文章&#xff0c;我们主要来理解一下&#xff0c;什么是线性回归中的简单回归和多元回归&#xff0c;顺便掌握一下特征向量的概念。 一、简单回归 简单回归是线性回归的一种最基本形式&#xff0c;它用于研究**一个自变量&#xff08;输入&#xff09;与一个因变量&…

Git知识分享

一、理解git首先要理清楚下面五个概念&#xff1a; 1、工作区(git add 命令之前的样子) 2、stash 暂存(暂存工作区和暂存区的更改) 3、暂存区(git add 命令之后的存储区, 4、本地仓库(git commit提交的位置) 5、远程仓库(git push提交的位置) 二、git常用命令&#xff1a; 1、g…

2024年度技术总结——MCU与MEMS和TOF应用实践

引言 2024年对我来说是技术成长与突破的一年。在这一年里&#xff0c;我不仅在技术领域拓展了深度和广度&#xff0c;还通过与客户合作的实际项目&#xff0c;成功实现了从单一MCU到MCU、MEMS与TOF技术融合的跨越。这一过程中&#xff0c;我深刻认识到&#xff0c;技术的进步不…

一句话,我让 AI 帮我做了个 P 图网站!

每到过节&#xff0c;不少小伙伴都会给自己的头像 P 个图&#xff0c;加点儿装饰。 比如圣诞节给自己头上 P 个圣诞帽&#xff0c;国庆节 P 个小红旗等等。这是一类比较简单、需求量却很大的 P 图场景&#xff0c;也有很多现成的网站和小程序&#xff0c;能帮你快速完成这件事…

如何打造一个高并发系统?

今天和大家聊聊作为一个后端开发&#xff0c;在实际工作中&#xff0c;我们如何打造一个高并发的系统&#xff1f; 如下图所示&#xff0c;大概有六个层面&#xff0c;我们结合具体的场景直播间签到去一一细说。 一、前端 1、打散请求&#xff1a;即把用户的接口分散一点去请求…