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

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,不为空时返回expr1IFNULL(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,前面补0LPAD(1, 2, 0)=01
RPAD(column, len, padstr)字符串位数不够补0,后面补0RPAD(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转义字符

&lt; < 小于号 

&gt; > 大于号 

&amp; & 和 

&apos; ’ 单引号 

&quot; “ 双引号

相关文章:

MySQL常用函数方法

字符串函数 函数描述举例left(str, length)从左开始截取字符串&#xff0c;截取length个left(2023-08-04, 7) 2023-08right(str, length)从右开始截取字符串&#xff0c;截取length个 right(2023-08-04, 5) 08-04 substring(str, pos, length) substring&#xff08;被截取字…...

Linux命令200例专栏导读:实用指南助你成为Linux大师

&#x1f3c6;作者简介&#xff0c;黑夜开发者&#xff0c;全栈领域新星创作者✌&#xff0c;阿里云社区专家博主&#xff0c;2023年6月csdn上海赛道top4。 &#x1f3c6;数年电商行业从业经验&#xff0c;历任核心研发工程师&#xff0c;项目技术负责人。 &#x1f3c6;本文已…...

ICN6202 MIPIDSI转LVDS桥接芯片的功能及特征 调试文档资料

产品特征功能&#xff1a; 输入&#xff1a;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 格式化文件&#xff08;VS Code格式化按键&#xff09;&#xff0c;如下图&#xff0c;每个缩进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); 灰度图&#xff0c;目标图&#xff0c;阈值&#xff0c;大于阈值的转换的像素值&#xff0c;方法为大津法 自适应二值…...

zabbix简易入门:基本的网络监控、WEB监控

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

51单片机学习--DS1302可调时钟

之前学习过用定时器做的时钟&#xff0c;但是那样不仅误差大还费CPU&#xff0c;接下来利用DS1302时钟模块做一个可调实时时钟 这一次直接编写DS1302模块&#xff0c;首先要在DS1392.c 中根据下面的模块原理图进行位声明&#xff1a; sbit DS1302_SCLK P3^6; sbit DS1302_IO …...

Matlab统计字符串中共有多少种字符以及每种字符出现次数的功能实现(Matlab R2021a)

在做2023年深圳杯B题的时候&#xff0c;需要使用隐写技术&#xff08;将特定信息嵌入信息载体且不易被察觉&#xff0c;可被广泛地应用于著作权保护、数据附加等领域&#xff09;将《中华人民共和国著作权法》全篇10314个字符写入图片&#xff0c;首先我想到的是利用霍夫曼编码…...

HTTPS文件传输

目录 0.https概述1.单钥匙锁2.双钥匙锁 - 防篡改3.双钥匙锁 - 防泄漏4.单双钥匙锁相互配合 0.https概述 HTTPS其实就是HTTP协议加上TLS/SSL&#xff0c;SSL是个加密套件&#xff0c;负责对HTTP的数据进行加密&#xff0c;TLS是SSL的升级版&#xff0c;现在提到HTTPS&#xff0…...

LOL-v2数据集和VE-LOL数据集的区别

LOL-v2数据集和VE-LOL数据集的区别 LOL-v2 LOL-v2数据集[64]包括两个不同的子集&#xff0c;即LOL-v2-real和LOL-v2-synthetic。LOL-v2-real子集是通过改变ISO和曝光时间在真实场景中捕获的&#xff0c;包括689对用于训练和测试的图像。在LOL-v2-synthetic子集中&#xff0c;…...

RabbitMQ(一) - 基本结构、SpringBoot整合RabbitMQ、工作队列、发布订阅、直接、主题交换机模式

RabbitMQ结构 Publisher &#xff1a; 生产者 Queue: 存储消息的容器队列&#xff1b; Consumer:消费者 Connection&#xff1a;消费者与消息服务的TCP连接 Channel:信道&#xff0c;是TCP里面的虚拟连接。例如&#xff1a;电缆相当于TCP&#xff0c;信道是一条独立光纤束&…...

涉及IMU的专业术语

文章目录 零偏维纳过程/布朗运动随机游走航迹推算 零偏 IMU&#xff08;惯性测量单元&#xff09;是一种用于测量物体在空间中的加速度和角速度的装置。它通常由加速度计和陀螺仪组成&#xff0c;这些传感器可以帮助确定物体的运动状态和方向。 在IMU中&#xff0c;“零偏”&…...

二维数组对角线判断

二维数组对角线判断 对于两个点&#xff08;x1, y1)和(x2, y2)。如何判断二者是否在同一条正对角线&#xff0c;反对角线&#xff0c;或者正或反对角线上&#xff1f; 正对角线判断 x2-x1 y2 -y1 证明&#xff1a;任意一点&#xff08;x1k, y1k)&#xff0c;&#xff08;k…...

数据可视化(六)多个子图及seaborn使用

1.多个子图绘制 #绘制多个子图 #subplot&#xff08;*args&#xff0c;**kwargs&#xff09; 每个subplot函数只能绘制一个子图 #subplots&#xff08;nrows&#xff0c;ncols&#xff09; #fig_add_subplot(行&#xff0c;列&#xff0c;区域) #绘制子图第一种方式 plt.subp…...

opencv-34 图像平滑处理-双边滤波cv2.bilateralFilter()

双边滤波&#xff08;BilateralFiltering&#xff09;是一种图像处理滤波技术&#xff0c;用于平滑图像并同时保留边缘信息。与其他传统的线性滤波方法不同&#xff0c;双边滤波在考虑像素之间的空间距离之外&#xff0c;还考虑了像素之间的灰度值相似性。这使得双边滤波能够有…...

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、存储过程以及高级映射&#xff0c;避免几乎所有的 JDBC 代码和手动设置参数以及获取结果集。可以使用简单的 XML 或注解来配置和映射原生信息&#xff0c;将接口和Java的POJO映射成数据库中的记录。 缺点&#xff1a; SQL工作量很大&#xff0c;尤…...

Android Studio 报错:Failed to create Jar file xxxxx.jar

通过分析&#xff0c;新下载的项目没有project/gradle目录&#xff0c;故通过其他项目复制到当前项目&#xff0c;就解决了该问题。 同时也出现了新的问题 Unable to start the daemon process.The project uses Gradle 4.1 which is incompatible with Java 11 or newer.原因…...

Django实现音乐网站 ⑸

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

基于VUE3+Layui从头搭建通用后台管理系统(前端篇)七:工作台界面实现

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

反向工程与模型迁移:打造未来商品详情API的可持续创新体系

在电商行业蓬勃发展的当下&#xff0c;商品详情API作为连接电商平台与开发者、商家及用户的关键纽带&#xff0c;其重要性日益凸显。传统商品详情API主要聚焦于商品基本信息&#xff08;如名称、价格、库存等&#xff09;的获取与展示&#xff0c;已难以满足市场对个性化、智能…...

Python实现prophet 理论及参数优化

文章目录 Prophet理论及模型参数介绍Python代码完整实现prophet 添加外部数据进行模型优化 之前初步学习prophet的时候&#xff0c;写过一篇简单实现&#xff0c;后期随着对该模型的深入研究&#xff0c;本次记录涉及到prophet 的公式以及参数调优&#xff0c;从公式可以更直观…...

如何在看板中有效管理突发紧急任务

在看板中有效管理突发紧急任务需要&#xff1a;设立专门的紧急任务通道、重新调整任务优先级、保持适度的WIP&#xff08;Work-in-Progress&#xff09;弹性、优化任务处理流程、提高团队应对突发情况的敏捷性。其中&#xff0c;设立专门的紧急任务通道尤为重要&#xff0c;这能…...

跨链模式:多链互操作架构与性能扩展方案

跨链模式&#xff1a;多链互操作架构与性能扩展方案 ——构建下一代区块链互联网的技术基石 一、跨链架构的核心范式演进 1. 分层协议栈&#xff1a;模块化解耦设计 现代跨链系统采用分层协议栈实现灵活扩展&#xff08;H2Cross架构&#xff09;&#xff1a; 适配层&#xf…...

【数据分析】R版IntelliGenes用于生物标志物发现的可解释机器学习

禁止商业或二改转载&#xff0c;仅供自学使用&#xff0c;侵权必究&#xff0c;如需截取部分内容请后台联系作者! 文章目录 介绍流程步骤1. 输入数据2. 特征选择3. 模型训练4. I-Genes 评分计算5. 输出结果 IntelliGenesR 安装包1. 特征选择2. 模型训练和评估3. I-Genes 评分计…...

SAP学习笔记 - 开发26 - 前端Fiori开发 OData V2 和 V4 的差异 (Deepseek整理)

上一章用到了V2 的概念&#xff0c;其实 Fiori当中还有 V4&#xff0c;咱们这一章来总结一下 V2 和 V4。 SAP学习笔记 - 开发25 - 前端Fiori开发 Remote OData Service(使用远端Odata服务)&#xff0c;代理中间件&#xff08;ui5-middleware-simpleproxy&#xff09;-CSDN博客…...

技术栈RabbitMq的介绍和使用

目录 1. 什么是消息队列&#xff1f;2. 消息队列的优点3. RabbitMQ 消息队列概述4. RabbitMQ 安装5. Exchange 四种类型5.1 direct 精准匹配5.2 fanout 广播5.3 topic 正则匹配 6. RabbitMQ 队列模式6.1 简单队列模式6.2 工作队列模式6.3 发布/订阅模式6.4 路由模式6.5 主题模式…...

MFC 抛体运动模拟:常见问题解决与界面美化

在 MFC 中开发抛体运动模拟程序时,我们常遇到 轨迹残留、无效刷新、视觉单调、物理逻辑瑕疵 等问题。本文将针对这些痛点,详细解析原因并提供解决方案,同时兼顾界面美化,让模拟效果更专业、更高效。 问题一:历史轨迹与小球残影残留 现象 小球运动后,历史位置的 “残影”…...

三分算法与DeepSeek辅助证明是单峰函数

前置 单峰函数有唯一的最大值&#xff0c;最大值左侧的数值严格单调递增&#xff0c;最大值右侧的数值严格单调递减。 单谷函数有唯一的最小值&#xff0c;最小值左侧的数值严格单调递减&#xff0c;最小值右侧的数值严格单调递增。 三分的本质 三分和二分一样都是通过不断缩…...

【 java 虚拟机知识 第一篇 】

目录 1.内存模型 1.1.JVM内存模型的介绍 1.2.堆和栈的区别 1.3.栈的存储细节 1.4.堆的部分 1.5.程序计数器的作用 1.6.方法区的内容 1.7.字符串池 1.8.引用类型 1.9.内存泄漏与内存溢出 1.10.会出现内存溢出的结构 1.内存模型 1.1.JVM内存模型的介绍 内存模型主要分…...