当前位置: 首页 > 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从头搭建通用后台管理系统合集-工作台界面布局实现 五、…...

以下是对华为 HarmonyOS NETX 5属性动画(ArkTS)文档的结构化整理,通过层级标题、表格和代码块提升可读性:

一、属性动画概述NETX 作用&#xff1a;实现组件通用属性的渐变过渡效果&#xff0c;提升用户体验。支持属性&#xff1a;width、height、backgroundColor、opacity、scale、rotate、translate等。注意事项&#xff1a; 布局类属性&#xff08;如宽高&#xff09;变化时&#…...

高等数学(下)题型笔记(八)空间解析几何与向量代数

目录 0 前言 1 向量的点乘 1.1 基本公式 1.2 例题 2 向量的叉乘 2.1 基础知识 2.2 例题 3 空间平面方程 3.1 基础知识 3.2 例题 4 空间直线方程 4.1 基础知识 4.2 例题 5 旋转曲面及其方程 5.1 基础知识 5.2 例题 6 空间曲面的法线与切平面 6.1 基础知识 6.2…...

Android Bitmap治理全解析:从加载优化到泄漏防控的全生命周期管理

引言 Bitmap&#xff08;位图&#xff09;是Android应用内存占用的“头号杀手”。一张1080P&#xff08;1920x1080&#xff09;的图片以ARGB_8888格式加载时&#xff0c;内存占用高达8MB&#xff08;192010804字节&#xff09;。据统计&#xff0c;超过60%的应用OOM崩溃与Bitm…...

python执行测试用例,allure报乱码且未成功生成报告

allure执行测试用例时显示乱码&#xff1a;‘allure’ &#xfffd;&#xfffd;&#xfffd;&#xfffd;&#xfffd;ڲ&#xfffd;&#xfffd;&#xfffd;&#xfffd;ⲿ&#xfffd;&#xfffd;&#xfffd;Ҳ&#xfffd;&#xfffd;&#xfffd;ǿ&#xfffd;&am…...

网站指纹识别

网站指纹识别 网站的最基本组成&#xff1a;服务器&#xff08;操作系统&#xff09;、中间件&#xff08;web容器&#xff09;、脚本语言、数据厍 为什么要了解这些&#xff1f;举个例子&#xff1a;发现了一个文件读取漏洞&#xff0c;我们需要读/etc/passwd&#xff0c;如…...

基于 TAPD 进行项目管理

起因 自己写了个小工具&#xff0c;仓库用的Github。之前在用markdown进行需求管理&#xff0c;现在随着功能的增加&#xff0c;感觉有点难以管理了&#xff0c;所以用TAPD这个工具进行需求、Bug管理。 操作流程 注册 TAPD&#xff0c;需要提供一个企业名新建一个项目&#…...

苹果AI眼镜:从“工具”到“社交姿态”的范式革命——重新定义AI交互入口的未来机会

在2025年的AI硬件浪潮中,苹果AI眼镜(Apple Glasses)正在引发一场关于“人机交互形态”的深度思考。它并非简单地替代AirPods或Apple Watch,而是开辟了一个全新的、日常可接受的AI入口。其核心价值不在于功能的堆叠,而在于如何通过形态设计打破社交壁垒,成为用户“全天佩戴…...

【前端异常】JavaScript错误处理:分析 Uncaught (in promise) error

在前端开发中&#xff0c;JavaScript 异常是不可避免的。随着现代前端应用越来越多地使用异步操作&#xff08;如 Promise、async/await 等&#xff09;&#xff0c;开发者常常会遇到 Uncaught (in promise) error 错误。这个错误是由于未正确处理 Promise 的拒绝&#xff08;r…...

DeepSeek源码深度解析 × 华为仓颉语言编程精粹——从MoE架构到全场景开发生态

前言 在人工智能技术飞速发展的今天&#xff0c;深度学习与大模型技术已成为推动行业变革的核心驱动力&#xff0c;而高效、灵活的开发工具与编程语言则为技术创新提供了重要支撑。本书以两大前沿技术领域为核心&#xff0c;系统性地呈现了两部深度技术著作的精华&#xff1a;…...

API网关Kong的鉴权与限流:高并发场景下的核心实践

&#x1f525;「炎码工坊」技术弹药已装填&#xff01; 点击关注 → 解锁工业级干货【工具实测|项目避坑|源码燃烧指南】 引言 在微服务架构中&#xff0c;API网关承担着流量调度、安全防护和协议转换的核心职责。作为云原生时代的代表性网关&#xff0c;Kong凭借其插件化架构…...