MySQL常用函数方法
字符串函数
函数 | 描述 | 举例 |
---|---|---|
left(str, length) | 从左开始截取字符串,截取length个 | left('2023-08-04', 7) = 2023-08 |
right(str, length) | 从右开始截取字符串,截取length个 | right('2023-08-04', 5) = 08-04 |
substring(str, pos, length) | substring(被截取字段,从第几位开始截取,截取长度) | SELECT substring('2023-08-01', 1, 7)=2023-08 |
substring_index(str,delim,count) | substring_index(被截取字段,关键字,关键字出现的次数) | select substring_index("河北省-石家庄市-长安区", "-", 2)=河北省-石家庄市 |
IFNULL(expr1,expr2) | 当expr1为空时返回expr2,不为空时返回expr1 | IFNULL(NULL, 0)=0 |
find_in_set(str1,str2) | 返回str2中str1所在的位置索引,如果找到了,则返回true(1),否则返回false(0),其中str2必须以半角符号的逗号【,】分割开 | SELECT FIND_IN_SET('水泥', '水泥,矿粉,混凝土')=1 |
locate(substr,str) | 返回str中substr所在的位置索引,如果找到了,则返回一个大于0的数,否则返回0。 | SELECT locate('水泥', '水泥矿粉混凝土')=1 |
POSITION(substr IN str) | 返回子串 substr 在字符串 str 中的第 pos 位置后第一次出现的位置。如果子串 substr 在 str 中不存在,返回值为 0。 | SELECT POSITION('水泥' IN '水泥矿粉混凝土')=1 |
STR_TO_DATE(str,format) | 函数是将时间格式的字符串(str),按照所提供的显示格式(format)转换为DATETIME类型的值。 | STR_TO_DATE('2023-08-04', '%Y-%m-%d %H:%i:%s')=2023-08-04 00:00:00 |
中是否包含某字符。find_in_set可以用于指定内容的排序。
数字函数
函数 | 描述 | 举例 |
---|---|---|
FORMAT(N,D,locale) | N是要格式化的数字。D是要舍入的小数位数。locale是一个可选参数,用于确定千个分隔符和分隔符之间的分组。需要注意的是,返回的结果为string类型。 | FORMAT(1000, 0)=1,000 |
ROUND(x,n) | 数据四舍五入 | ROUND(3.1415927, 4)=3.1416 |
TRUNCATE(x,n) | 返回小数点后n位的数据 | TRUNCATE(3.1415927, 4)=3.1415 |
LPAD(column, len, padstr) | 字符串位数不够补0,前面补0 | LPAD(1, 2, 0)=01 |
RPAD(column, len, padstr) | 字符串位数不够补0,后面补0 | RPAD(1, 2, 0)=10 |
日期函数
函数 | 说明 | 举例 |
---|---|---|
DATE_FORMAT(date,format) | 函数则是把数据库的日期转换为对应的字符串格式 | DATE_FORMAT(CURRENT_TIME(), '%Y-%m-%d %H:%i:%s')=2023-8-04 14:00:41 |
DATE_SUB(date,INTERVAL expr type) | 函数从日期减去指定的时间间隔 | DATE_SUB(curdate(), INTERVAL 7 DAY)=7日前日期 |
DATEDIFF(expr1,expr2) | 获取两日期相差天数 | DATEDIFF('2023-08-04', '2023-08-01')=3 |
curdate() | 当前日期 | |
NOW() | 当前时间 | |
YEAR(date) | 获取日期年份 | YEAR(curdate())=当前日期所处年 |
MONTH(date) | 获取日期月份 | MONTH(curdate())=当前日期所处月 |
其它
GROUP_CONCAT(colum_name)
与group by搭配使用,分组时结果多列转一行,逗号分隔内容
(@i:=@i+1)
查询结果添加序号,如:
select id,name,(@i:=@i+1) orderNo from table,(select @i:=0) b //生成orderNo序号
WITH
临时表,用于保存一些临时数据,提取子查询,简化代码
with t1 as (
select * from table1
), t2 as (
select * from table2
)
select * from t1
union all
select * from t2
窗口函数over(partition by XXX order by XXX )
partition by:根据字段来分组,类似于group by
order by:分组后根据某个字段进行排序
// 根据类别分组,按照销量排序,添加排序序号
ROW_NUMBER() OVER (partition by ctype ORDER BY sum(iQuantity) DESC) AS id
加序函数:
ROW_NUMBER():排序后顺序为,1,2,3
RANK():排序后顺序为,1,1,3
DENSE_RANK():排序后顺序为,1,1,2
NTILE():函数将排序分区中的行划分为特定数量的组,从每个组分配一个从一开始的桶号。对于每一行,NTILE()函数返回一个桶号,表示行所属的组。
如:取销量排名前20%的客户
with t1 as (
select
ntile(5) over(partition by t3.ctype order by t3.id) nt -- 将客户按照数量分成5组
from table
)
select * from t1 where nt=1 // 第一组为前20%的客户
特定顺序排序
按照一组、二组、三组、四组、五组排序
......
order by find_in_set(column_name, '一组,二组,三组,四组,五组')
不确定排序中的内容有哪些,想要将排序后的第一个放到最后一个,如类别编号已排序,现将排在第一位的010101产品类别排在最后
......
order by field(column_name, '010101')
注:order by field(column_name, str1, str2, str3) 与str1、str2、str3比较进行排序
Mybatis XML转义字符
< < 小于号
> > 大于号
& & 和
' ’ 单引号
" “ 双引号
相关文章:
MySQL常用函数方法
字符串函数 函数描述举例left(str, length)从左开始截取字符串,截取length个left(2023-08-04, 7) 2023-08right(str, length)从右开始截取字符串,截取length个 right(2023-08-04, 5) 08-04 substring(str, pos, length) substring(被截取字…...

Linux命令200例专栏导读:实用指南助你成为Linux大师
🏆作者简介,黑夜开发者,全栈领域新星创作者✌,阿里云社区专家博主,2023年6月csdn上海赛道top4。 🏆数年电商行业从业经验,历任核心研发工程师,项目技术负责人。 🏆本文已…...
ICN6202 MIPIDSI转LVDS桥接芯片的功能及特征 调试文档资料
产品特征功能: 输入:MIPI DSI 支持MIPI D-PHY Version 1.00.00 和 MIPI DSI Version 1.02.00. 可接收MIPI DSI 18bpp RGB666 and 24bpp RGB888 packets 4 lane data1 lane clock 4对数据线可以选择1、2、3、4lane data 每对差分数据传输线最大可…...

vscode 格式问题
1、EditorConfig for VS Code 插件 shift alt f 格式化文件(VS Code格式化按键),如下图,每个缩进4空格 代码如下 创建文件名 .editorconfig root true [*] charset utf-8 indent_style space indent_size 2 end_of_…...
OPENCV C++(三)二值化灰度函数+调用摄像头+鼠标响应+肤色检测
RGB转灰度函数 cvtColor(image, gray, COLOR_BGR2GRAY); 图像 目标图像 rgb转灰度 大津法二值化函数 threshold(gray, result1, 84, 255, THRESH_OTSU); 灰度图,目标图,阈值,大于阈值的转换的像素值,方法为大津法 自适应二值…...

zabbix简易入门:基本的网络监控、WEB监控
需求背景: 我们越来越发现:网络越来越复杂,网络、应用、云端……故障点随时可能发生,而我们不能人工盯着所有的问题,所以,网管软件是必须的。那么没有预算的情况下,我们只好自己布署简单的…...

51单片机学习--DS1302可调时钟
之前学习过用定时器做的时钟,但是那样不仅误差大还费CPU,接下来利用DS1302时钟模块做一个可调实时时钟 这一次直接编写DS1302模块,首先要在DS1392.c 中根据下面的模块原理图进行位声明: sbit DS1302_SCLK P3^6; sbit DS1302_IO …...
Matlab统计字符串中共有多少种字符以及每种字符出现次数的功能实现(Matlab R2021a)
在做2023年深圳杯B题的时候,需要使用隐写技术(将特定信息嵌入信息载体且不易被察觉,可被广泛地应用于著作权保护、数据附加等领域)将《中华人民共和国著作权法》全篇10314个字符写入图片,首先我想到的是利用霍夫曼编码…...
HTTPS文件传输
目录 0.https概述1.单钥匙锁2.双钥匙锁 - 防篡改3.双钥匙锁 - 防泄漏4.单双钥匙锁相互配合 0.https概述 HTTPS其实就是HTTP协议加上TLS/SSL,SSL是个加密套件,负责对HTTP的数据进行加密,TLS是SSL的升级版,现在提到HTTPS࿰…...
LOL-v2数据集和VE-LOL数据集的区别
LOL-v2数据集和VE-LOL数据集的区别 LOL-v2 LOL-v2数据集[64]包括两个不同的子集,即LOL-v2-real和LOL-v2-synthetic。LOL-v2-real子集是通过改变ISO和曝光时间在真实场景中捕获的,包括689对用于训练和测试的图像。在LOL-v2-synthetic子集中,…...

RabbitMQ(一) - 基本结构、SpringBoot整合RabbitMQ、工作队列、发布订阅、直接、主题交换机模式
RabbitMQ结构 Publisher : 生产者 Queue: 存储消息的容器队列; Consumer:消费者 Connection:消费者与消息服务的TCP连接 Channel:信道,是TCP里面的虚拟连接。例如:电缆相当于TCP,信道是一条独立光纤束&…...
涉及IMU的专业术语
文章目录 零偏维纳过程/布朗运动随机游走航迹推算 零偏 IMU(惯性测量单元)是一种用于测量物体在空间中的加速度和角速度的装置。它通常由加速度计和陀螺仪组成,这些传感器可以帮助确定物体的运动状态和方向。 在IMU中,“零偏”&…...
二维数组对角线判断
二维数组对角线判断 对于两个点(x1, y1)和(x2, y2)。如何判断二者是否在同一条正对角线,反对角线,或者正或反对角线上? 正对角线判断 x2-x1 y2 -y1 证明:任意一点(x1k, y1k),(k…...

数据可视化(六)多个子图及seaborn使用
1.多个子图绘制 #绘制多个子图 #subplot(*args,**kwargs) 每个subplot函数只能绘制一个子图 #subplots(nrows,ncols) #fig_add_subplot(行,列,区域) #绘制子图第一种方式 plt.subp…...

opencv-34 图像平滑处理-双边滤波cv2.bilateralFilter()
双边滤波(BilateralFiltering)是一种图像处理滤波技术,用于平滑图像并同时保留边缘信息。与其他传统的线性滤波方法不同,双边滤波在考虑像素之间的空间距离之外,还考虑了像素之间的灰度值相似性。这使得双边滤波能够有…...
Leetcode 268. Missing Number
Problem Given an array nums containing n distinct numbers in the range [0, n], return the only number in the range that is missing from the array. Algorithm Sum all the numbers as x x x and use n ( n 1 ) 2 − x \frac{n(n1)}{2} - x 2n(n1)−x. Code …...

MybatisPlus实战笔记
概述 Mybatis支持定制化SQL、存储过程以及高级映射,避免几乎所有的 JDBC 代码和手动设置参数以及获取结果集。可以使用简单的 XML 或注解来配置和映射原生信息,将接口和Java的POJO映射成数据库中的记录。 缺点: SQL工作量很大,尤…...
Android Studio 报错:Failed to create Jar file xxxxx.jar
通过分析,新下载的项目没有project/gradle目录,故通过其他项目复制到当前项目,就解决了该问题。 同时也出现了新的问题 Unable to start the daemon process.The project uses Gradle 4.1 which is incompatible with Java 11 or newer.原因…...

Django实现音乐网站 ⑸
使用Python Django框架制作一个音乐网站, 本篇主要是配置媒体资源设置。 目录 配置介绍 设置媒体资源 创建媒体资源目录 修改settings.py 注册媒体资源路由 总结 配置介绍 静态资源是指项目配置的js/css/image等系统常用文件。对于一些经常变动的资源&#x…...

基于VUE3+Layui从头搭建通用后台管理系统(前端篇)七:工作台界面实现
一、本章内容 本章实现工作台界面相关内容,包括echart框架引入,mock框架引入等,实现工作台界面框架搭建,数据加载。 1. 详细课程地址: 待发布 2. 源码下载地址: 待发布 二、界面预览 三、开发视频 基于VUE3+Layui从头搭建通用后台管理系统合集-工作台界面布局实现 五、…...

微软PowerBI考试 PL300-选择 Power BI 模型框架【附练习数据】
微软PowerBI考试 PL300-选择 Power BI 模型框架 20 多年来,Microsoft 持续对企业商业智能 (BI) 进行大量投资。 Azure Analysis Services (AAS) 和 SQL Server Analysis Services (SSAS) 基于无数企业使用的成熟的 BI 数据建模技术。 同样的技术也是 Power BI 数据…...

【第二十一章 SDIO接口(SDIO)】
第二十一章 SDIO接口 目录 第二十一章 SDIO接口(SDIO) 1 SDIO 主要功能 2 SDIO 总线拓扑 3 SDIO 功能描述 3.1 SDIO 适配器 3.2 SDIOAHB 接口 4 卡功能描述 4.1 卡识别模式 4.2 卡复位 4.3 操作电压范围确认 4.4 卡识别过程 4.5 写数据块 4.6 读数据块 4.7 数据流…...
【磁盘】每天掌握一个Linux命令 - iostat
目录 【磁盘】每天掌握一个Linux命令 - iostat工具概述安装方式核心功能基础用法进阶操作实战案例面试题场景生产场景 注意事项 【磁盘】每天掌握一个Linux命令 - iostat 工具概述 iostat(I/O Statistics)是Linux系统下用于监视系统输入输出设备和CPU使…...
spring:实例工厂方法获取bean
spring处理使用静态工厂方法获取bean实例,也可以通过实例工厂方法获取bean实例。 实例工厂方法步骤如下: 定义实例工厂类(Java代码),定义实例工厂(xml),定义调用实例工厂ÿ…...

NLP学习路线图(二十三):长短期记忆网络(LSTM)
在自然语言处理(NLP)领域,我们时刻面临着处理序列数据的核心挑战。无论是理解句子的结构、分析文本的情感,还是实现语言的翻译,都需要模型能够捕捉词语之间依时序产生的复杂依赖关系。传统的神经网络结构在处理这种序列依赖时显得力不从心,而循环神经网络(RNN) 曾被视为…...
【学习笔记】深入理解Java虚拟机学习笔记——第4章 虚拟机性能监控,故障处理工具
第2章 虚拟机性能监控,故障处理工具 4.1 概述 略 4.2 基础故障处理工具 4.2.1 jps:虚拟机进程状况工具 命令:jps [options] [hostid] 功能:本地虚拟机进程显示进程ID(与ps相同),可同时显示主类&#x…...

听写流程自动化实践,轻量级教育辅助
随着智能教育工具的发展,越来越多的传统学习方式正在被数字化、自动化所优化。听写作为语文、英语等学科中重要的基础训练形式,也迎来了更高效的解决方案。 这是一款轻量但功能强大的听写辅助工具。它是基于本地词库与可选在线语音引擎构建,…...

深度学习习题2
1.如果增加神经网络的宽度,精确度会增加到一个特定阈值后,便开始降低。造成这一现象的可能原因是什么? A、即使增加卷积核的数量,只有少部分的核会被用作预测 B、当卷积核数量增加时,神经网络的预测能力会降低 C、当卷…...

Reasoning over Uncertain Text by Generative Large Language Models
https://ojs.aaai.org/index.php/AAAI/article/view/34674/36829https://ojs.aaai.org/index.php/AAAI/article/view/34674/36829 1. 概述 文本中的不确定性在许多语境中传达,从日常对话到特定领域的文档(例如医学文档)(Heritage 2013;Landmark、Gulbrandsen 和 Svenevei…...

AirSim/Cosys-AirSim 游戏开发(四)外部固定位置监控相机
这个博客介绍了如何通过 settings.json 文件添加一个无人机外的 固定位置监控相机,因为在使用过程中发现 Airsim 对外部监控相机的描述模糊,而 Cosys-Airsim 在官方文档中没有提供外部监控相机设置,最后在源码示例中找到了,所以感…...