MySQL:数学函数和字符串函数

news2024/9/24 1:26:26

目录

前言:

数学函数:

求绝对值:

求PI:

求平方根:

求余数:

取整:

随机数:

四舍五入:

只舍不入:

返回参数符号:

幂运算:

对数:

三角函数:

角度与弧度相互转换:

正弦和反正弦:

余弦和反余弦:

字符串函数:

计算字符串中字符个数,以及字符串的长度:

合并字符串:

直接合并:

合并,并添加分隔符:

替换字符串:

x 为正整数:

x 为负数:

x 为0:

 x 为 1:

其中一个参数为NULL:

 字母大小写转换:

获取指定长度字符串:

填充字符串:

删除外侧空格:

重复字符串:

替换字符:

比较字符串大小:

获取字符串:

匹配字符串开始位置:

反转字符串:

返回输入字符串中,指定位置的字符串:

 返回输入字符串中,指定字符串的位置:


前言:

仅作为日常学习积累,方便日后查找。

数学函数:

求绝对值:

ABS(X)

求PI:

 PI()

求平方根:

SQRT(x)

# 负数没有平方根,返回NULL

求余数:

 MOD(x,y):x是被除数,y是除数,返回的结果是余数

取整:

 CEIL(x),      CEILING(x),     FLOOR(x)

这三个的名字起得很有意思,前两个是“天花板”,后一个是“地板”。那么我们的数就是中间的“空气”,用ceil 和 ceiling 就是取“比输入数值大的最小整数”,返回的数值是大于输入数值的整数;用floor 就是取“比输入数值小的最大整数”,返回的数值是小于输入数值的整数。

前两个(ceil 和 ceiling)是一样的,返回的值大于输入的值,取大于x的最小整数。

# 注意不要和四舍五入混在一起

随机数:

RAND()       RAND(x)

可以有参数,也可以无参数。

无参数则是随机取一个(0~1)的浮点数,重复调用RAND()函数,返回的浮点数各不相同;

有参数则也是随机取一个(0~1)的浮点数,重复调用RAND()函数和同一参数,返回的浮点数数值相同。

四舍五入:

ROUND(x)

不保留小数,直接取整,四舍五入

只舍不入:

ROUND(x, y)

y为正数时,保留小数点后 y 位;y 为负数时,小数点后全部舍弃,从个位向前数第y位,全部归0,如果超出范围,直接归零。

TRUNCATE(x,y)

和ROUND(x, y)的作用一样。

返回参数符号:

SIGN(x)

这里的正数负数,用-1 和 1 来表示:

幂运算:

POW(x, y);   POWER(x, y);  EXP(x)

# EXP 返回 e 的 x 次方

对数:

a 的 x 次方 = N

那么,x 就是以 a 为底,N 的对数。

LOG()

底数是 e 或者是 10

三角函数:

角度与弧度相互转换:

RADIANS(x)  角度转换成弧度

DEGREES(x)  弧度转化为角度

当然,一个pi是180,那么求其他角度也可以这样尝试:

正弦和反正弦:

好的,来到了我最不擅长的部分了。

正弦指的是三角形中任意一个锐角所对的边和斜边的比值。

MySQL中的正弦函数指的是:SIN(x)  -1 <= x <= 1

x 表示的是“弧度值”

余弦和反余弦:

这部分在后来补齐,我需要进一步学习(复习)一下三角函数……

字符串函数:

计算字符串中字符个数,以及字符串的长度:

CHAR_LENGTH(str)

# 输入的字符串要带引号

LENGTH(str)

# 返回字符串的长度

# 输入的是‘英文+数字’字符串的话,那么这两个函数的差别不大

合并字符串:

直接合并:

CONCAT(str1, str2, ....)

如果对DataFrame 有一些了解的话,看到concat 有没有很眼熟……

该函数直接将字符串连接起来,中间没有任何间隔字符

# 小酸一下

有NULL会怎么样呢?

# 如果NULL 作为字符串出现,是没什么问题的:

# 这里因为表头太长,换了个简洁的名字。 

# 如果NULL不是作为字符串出现,就全都为NULL:

 # 这说明,对待爱情,一定要细心呵护,小心培养,千万不要触碰原则

合并,并添加分隔符:

 CONCAT_WS(x, str1, str2, ...)


# 再酸一下 

同样,出现NULL会有什么情况呢?

# 直接剔除,啥都没留 

# 这说明,在爱情里,一些非原则性问题会得到谅解

# 不胡扯了

替换字符串:

INSERT(str1, x, len, str2)

str1:原字符串(要被修改的那个)

x:替换位置,即从哪里开始替换,这是一个数

len:替换长度

str2:替换字符

如果x <= 0,就直接返回原来的字符,替换失败。

如果有一个参数为NULL,那么返回值也为NULL

x 为正整数:

x 为负数:

x 为0:

 x 为 1:

其中一个参数为NULL:

 

 字母大小写转换:

LOWER(str)   LCASE(str)

UPPER(str)    UCASE(str)

获取指定长度字符串:

LEFT(str, x)    从左开始获取

RIGHT(str, x)    从右开始获取

 

填充字符串:

LPAD(str1, len, str2)   从左边开始填充

LPAD(str1, len, str2)   从右边开始填充

 

# 如果 len 长度小于str1 的长度,就直接截取

删除外侧空格:

LTRIM(str)   删左边

RTRIM(str)   删右边

TRIM(str)   删两边

 

重复字符串:

REPEAT(str, n)  n代表重复的次数

替换字符:

 REPLACE(str, str1, str2)

str  原字符

str1  要被替换的字符

str2   要替换上去的字符

比较字符串大小:

 STRCMP(str1, str2)

相同返回0; str1 小返回 -1; str2 小返回 1;

获取字符串:

SUBSTRING(str, n, len)

MID(str, n, len)

这两个差不多是一样的,

# 如果带有空格,那么空格也算一个字符

# 长度为负数,那么什么都不会输出

 # 起始位置(n)为负数,则从后面开始,最后一个是-1,倒数第二个是-2,以此类推。

 

匹配字符串开始位置:

LOCATE(str1, str)  前面是要匹配的字符串,后面是被匹配的字符串

 POSITION(str1 IN str)

反转字符串:

REVERSE(str)

正序变成倒序

返回输入字符串中,指定位置的字符串:

ELT(X, STR1, STR2, STR3, ...)

X 表示的是“第几个字符串”。 

 

 返回输入字符串中,指定字符串的位置:

FIELD(str, str1, str2, str3, ...)

# 有多个字符,只会返回第一个

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/498679.html

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

相关文章

Illustrator如何编辑图形对象之实例演示?

文章目录 0.引言1.绘制海浪插画2.绘制时尚波浪发型3.绘制一条鲸鱼 0.引言 因科研等多场景需要进行绘图处理&#xff0c;笔者对Illustrator进行了学习&#xff0c;本文通过《Illustrator CC2018基础与实战》及其配套素材结合网上相关资料进行学习笔记总结&#xff0c;本文对图形…

快速上手Pytorch实现BERT,以及BERT后接CNN/LSTM

快速上手Pytorch实现BERT&#xff0c;以及BERT后接CNN/LSTM 本项目采用HuggingFace提供的工具实现BERT模型案例&#xff0c;并在BERT后接CNN、LSTM等 HuggingFace官网 一、实现BERT&#xff08;后接线性层&#xff09; 1.引用案例源码&#xff1a; from transformers impo…

开关电源基础01:电源变换器基础(2)

说在开头&#xff1a;关于德布罗意的电子波&#xff08;3&#xff09; 1923年&#xff0c;德布罗意在求出他的相波之前&#xff0c;康普顿刚好用光子说解释了康普顿效应&#xff08;记性好的胖友们应该还记得&#xff1a;散射波的波长变长问题&#xff09;&#xff0c;从而带领…

开关电源基础02:基本开关电源拓扑(2)-BOOST-BUCKBOOST拓扑

说在开头&#xff1a;关于海森堡的矩阵&#xff08;2&#xff09; 海森堡写完论文就回到了哥廷根大学&#xff0c;他一看见玻恩就把这份论文拿出来请老师把关&#xff0c;还说要趁着假期去趟英国剑桥大学讲课交流。玻恩拿过论文一看&#xff0c;海森堡画的这个表格是啥玩意啊&…

【操作系统】高性能网络模式:Reactor 和 Proactor

【操作系统】高性能网络模式&#xff1a;Reactor 和 Proactor 参考资料&#xff1a; 高性能 RPC 通信的实现- 巧用 reactor 模式 高性能网络模式&#xff1a;Reactor 和 Proactor NIO Reactor模型 Netty「基石」之Reactor模式 高性能IO模型分析-Reactor模式和Proactor模式 【…

【服务器】无公网IP,异地远程连接威联通NAS

Yan-英杰的主页 悟已往之不谏 知来者之可追 C程序员&#xff0c;2024届电子信息研究生 目录 前言 1. 威联通安装cpolar内网穿透 2. 内网穿透 2.1 创建隧道 2.2 测试公网远程访问 3. 配置固定二级子域名 3.1 保留二级子域名 3.2 配置二级子域名 4. 使用固定二级子…

Linux诊断原因:生产环境服务器变慢,诊断思路和性能评估

Linux诊断原因&#xff0c;生产环境服务器变慢&#xff0c;诊断思路和性能评估 1 整机&#xff1a;top&#xff0c;查看整机系统性能 使用top命令的话&#xff0c;重点关注的是 %CPU、%MEM 、load average 三个指标 load average三个指标&#xff1a;分别代表1、5、15时分钟系…

2022年NOC大赛编程马拉松赛道初赛图形化低年级A卷-正式卷,包含答案

目录 选择题: 下载文档打印做题: 2022年NOC大赛编程马拉松赛道【初赛】图形化低年级A卷-正式卷 2022NOC-图形化初赛低年级A卷正式卷 选择题: 1、答案:B 禾木是一个军事迷,他打算利用业余时间制作一款射击游戏。在游戏中,玩家可以通过鼠标控制手枪移动。请问,给手枪…

springboot+vue体质测试数据分析及可视化设计(源码+文档)

风定落花生&#xff0c;歌声逐流水&#xff0c;大家好我是风歌&#xff0c;混迹在java圈的辛苦码农。今天要和大家聊的是一款基于springboot的体质测试数据分析及可视化设计。项目源码以及部署相关请联系风歌&#xff0c;文末附上联系信息 。 &#x1f495;&#x1f495;作者&a…

[svg-icon]引入vue项目后,use标签为0,已解决

这个bug我之前遇到过一次&#xff0c;解决了也就没记录 但是好记性不如烂笔头&#xff0c;这次重新遇到&#xff0c;又重新排查bug花了1个多小时 svg引入vue项目&#xff0c;需要依赖svg-sprite-loader npm install svg-sprite-loader在vue.config.js中 chainWebpack(conf…

NOC大赛·核桃编程马拉松赛道知识点大纲(高年级及初中组)

NOC核桃编程马拉松知识点大纲(高年级及初中组) (一)基础语法 1.掌握运动积木的用法。 包括“移动 10 步”、“左/右转 X 度”、“面向 X 方向/鼠标指针/ 角色”、“移到 XY 坐标/鼠标/角色”、“X/Y 坐标的设定和增加”、 “滑行到 XY/鼠标/角色”等积木用法,详细如下。 1…

【数据结构】链表OJ:力扣160. 相交链表

最近这几篇内容都有关链表&#xff0c;接下来几篇内容会分享一些链表的OJ题&#xff0c;希望对你有所帮助。 今天要分享的内容是力扣160. 相交链表&#xff1a;160. 相交链表 - 力扣&#xff08;LeetCode&#xff09; 目录 题目&#xff1a; 题解 题目&#xff1a; 给你…

数据分析02——numpy模块的在jupyter中的使用

0、numpy&#xff1a; 在计算机中会把数学当中的矩阵叫做数组&#xff0c;在很多应用中的表格也就是通过矩阵表示的&#xff0c;所以numpy广泛用于机器学习&#xff0c;数据分析&#xff0c;和图像处理领域。 1、numpy常用方法和函数&#xff1a; 前言&#xff1a;在使用nump…

腾讯云轻量应用服务器使用限制说明(十大限制)

腾讯云轻量应用服务器和云服务器CVM相比具有一些限制&#xff0c;比如轻量服务器不支持更换内网IP地址&#xff0c;轻量服务器只能套餐整体升级且不支持降配&#xff0c;轻量不支持用户自定义配置私有网络VPC&#xff0c;还有如实例配额、云硬盘配额、备案限制和内网连通性等限…

Ububtu20.04 无法连接外屏(显卡驱动问题导致)

Ububtu20.04 无法显示第二个屏幕&#xff08;显卡驱动问题&#xff09; Ububtu20.04 无法显示第二个屏幕&#xff08;显卡驱动问题&#xff09; Ububtu20.04 无法显示第二个屏幕&#xff08;显卡驱动问题&#xff09; 1. 问题描述2. 解决方案 1. 问题描述 一开始我的ububt…

JavaGuide复习1——常见面试题总结部分

1、关于包装类的缓存机制 两种浮点数类型的包装类 Float,Double 并没有实现缓存机制。 对应源码&#xff1a; 拆装箱 都是调用了包装类的方法&#xff1a;valueOf&#xff08;基本转包装&#xff09;、xxxValue&#xff08;包装转基本&#xff09; 注意char char在Java中占用…

Illustrator如何进行文本的创建与编辑之实例演示?

文章目录 0.引言1.创建点文字2.串接文本3.石刻文字 0.引言 因科研等多场景需要进行绘图处理&#xff0c;笔者对Illustrator进行了学习&#xff0c;本文通过《Illustrator CC2018基础与实战》及其配套素材结合网上相关资料进行学习笔记总结&#xff0c;本文对文本的创建与编辑进…

shell脚本编程基础

shell 文件的建立和执行 shell脚本是将shell命令在文件中编写&#xff0c;从而实现一次执行很多shell命令。如&#xff1a; # ab.sh # !/bin/bash echo "Welcome Linux" cd mkdir myjsjsj echo "Your dir is" pwd可以看到这就是多个shell命令。 执行前需…

【数据结构】选择排序(详细)

选择排序 1. 直接选择排序2. 堆排序2.1 堆2.2 堆的实现&#xff08;以大根堆为例&#xff09;2.3 堆排序 3. 堆排序&#xff08;topK问题&#xff09; 1. 直接选择排序 思想 以排升序为例。以a[i]为最大值&#xff08;或最小值&#xff09;&#xff0c;从a[i1]到a[n-1-i]比较选…

【5G RRC】NR 小区接入控制

博主未授权任何人或组织机构转载博主任何原创文章&#xff0c;感谢各位对原创的支持&#xff01; 博主链接 本人就职于国际知名终端厂商&#xff0c;负责modem芯片研发。 在5G早期负责终端数据业务层、核心网相关的开发工作&#xff0c;目前牵头6G算力网络技术标准研究。 博客…