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

mysql的函数(第一期)

一、字符串函数​

处理文本数据,常用函数:

  1. ​CONCAT(str1, str2, ...)​

    • ​作用​​:拼接字符串。
    • ​示例​​:SELECT CONCAT('Hello', ' ', 'World'); → Hello World
    • ​注意​​:若任一参数为 NULL,结果为 NULL
  2. ​CONCAT_WS(separator, str1, str2, ...)​

    • ​作用​​:用分隔符拼接字符串,自动忽略 NULL
    • ​示例​​:SELECT CONCAT_WS('-', '2023', NULL, '10'); → 2023-10
  3. ​SUBSTRING(str, start, length)​

    • ​作用​​:截取子串,索引从 1 开始。
    • ​示例​​:SELECT SUBSTRING('MySQL', 3, 2); → SQ
  4. ​REPLACE(str, from_str, to_str)​

    • ​作用​​:替换字符串中的子串。
    • ​示例​​:SELECT REPLACE('foo bar', 'foo', 'hello'); → hello bar
  5. ​TRIM([LEADING|TRAILING|BOTH] trim_str FROM str)​

    • ​作用​​:去除首尾空格或指定字符。
    • ​示例​​:SELECT TRIM(' MySQL '); → MySQL
  6. ​LENGTH(str)​​ 与 ​​CHAR_LENGTH(str)​

    • ​区别​​:LENGTH 返回字节数,CHAR_LENGTH 返回字符数。
    • ​示例​​:SELECT LENGTH('中文'), CHAR_LENGTH('中文'); → 6, 2(UTF-8编码)

​二、数值函数​

处理数值计算,常用函数:

  1. ​ROUND(num, decimals)​

    • ​作用​​:四舍五入,decimals 可为负数。
    • ​示例​​:SELECT ROUND(123.456, -1), ROUND(123.456, 2); → 120, 123.46
  2. ​CEIL(num)​​ 与 ​​FLOOR(num)​

    • ​作用​​:向上/向下取整。
    • ​示例​​:SELECT CEIL(3.1), FLOOR(3.9); → 4, 3
  3. ​RAND()​

    • ​作用​​:生成 [0,1) 的随机数。
    • ​示例​​:SELECT RAND(); → 随机值如 0.123
    • ​注意​​:结合 ORDER BY RAND() 可随机排序,但性能较差。
  4. ​POW(x, y)​

    • ​作用​​:计算 x 的 y 次方。
    • ​示例​​:SELECT POW(2, 3); → 8

​三、日期时间函数​

处理日期和时间,常用函数:

  1. ​NOW()​

    • ​作用​​:返回当前日期和时间(格式:YYYY-MM-DD HH:mm:ss)。
    • ​示例​​:SELECT NOW(); → 2023-10-10 14:30:00
  2. ​DATE_FORMAT(date, format)​

    • ​作用​​:格式化日期。
    • ​示例​​:SELECT DATE_FORMAT(NOW(), '%Y-%m-%d'); → 2023-10-10
  3. ​DATEDIFF(date1, date2)​

    • ​作用​​:计算两个日期相差的天数。
    • ​示例​​:SELECT DATEDIFF('2023-10-10', '2023-10-01'); → 9
  4. ​DATE_ADD(date, INTERVAL expr unit)​

    • ​作用​​:日期加法。
    • ​示例​​:SELECT DATE_ADD(NOW(), INTERVAL 1 MONTH); → 当前日期加一个月。
  5. ​EXTRACT(unit FROM date)​

    • ​作用​​:提取日期部分(如年、月、日)。
    • ​示例​​:SELECT EXTRACT(YEAR FROM '2023-10-10'); → 2023

​四、流程控制函数​

处理条件逻辑:

  1. ​IF(condition, value_if_true, value_if_false)​

    • ​示例​​:SELECT IF(score >= 60, 'Pass', 'Fail');
  2. ​CASE​

    • ​作用​​:多条件分支。
    • ​示例​​:
      SELECT CASE WHEN score >= 90 THEN 'A'WHEN score >= 80 THEN 'B'ELSE 'C'END AS grade
      FROM students;
  3. ​COALESCE(value1, value2, ...)​

    • ​作用​​:返回第一个非 NULL 值。
    • ​示例​​:SELECT COALESCE(NULL, 'default'); → default

​五、聚合函数​

对多行数据进行统计:

  1. ​SUM(column)​

    • ​作用​​:求和,忽略 NULL
  2. ​COUNT(expr)​

    • ​示例​​:COUNT(*) 统计行数,COUNT(DISTINCT column) 去重计数。
  3. ​GROUP_CONCAT(expr)​

    • ​作用​​:合并多行结果,默认逗号分隔。
    • ​示例​​:SELECT GROUP_CONCAT(name SEPARATOR '|') FROM users;
  4. ​AVG(column)​​ 与 ​​MAX(column)/MIN(column)​

    • ​注意​​:AVG 忽略 NULLMAX/MIN 适用于数值、日期和字符串。

​六、加密函数​

  1. ​MD5(str)​​ 与 ​​SHA1(str)​

    • ​示例​​:SELECT MD5('password'); → 32位哈希值。
  2. ​SHA2(str, hash_length)​

    • ​示例​​:SELECT SHA2('password', 256); → 64位哈希值。

​七、注意事项​

  1. ​索引失效​​:避免在 WHERE 中对索引列使用函数(如 WHERE YEAR(date) = 2023)。
  2. ​NULL 处理​​:函数如 SUM 忽略 NULL,而 CONCAT 遇到 NULL 返回 NULL
  3. ​版本差异​​:窗口函数(如 ROW_NUMBER())仅支持 MySQL 8.0+。
  4. ​性能优化​​:谨慎使用 ORDER BY RAND() 或大文本处理函数。

​八、自定义函数​

通过 CREATE FUNCTION 可定义存储函数,需注意权限和语法:

DELIMITER $$
CREATE FUNCTION add_tax(price FLOAT) RETURNS FLOAT
BEGINRETURN price * 1.1;
END 
$$
DELIMITER ;

相关文章:

mysql的函数(第一期)

一、字符串函数​​ 处理文本数据,常用函数: ​​CONCAT(str1, str2, ...)​​ ​​作用​​:拼接字符串。​​示例​​:SELECT CONCAT(Hello, , World); → Hello World​​注意​​:若任一参数为 NULL,…...

Nacos深度剖析与实践应用之-负载均衡

💡简介 Nacos不仅提供服务注册与发现功能,还内置了强大的负载均衡能力。Nacos的负载均衡机制主要应用于服务消费者从服务注册中心获取服务实例列表后,如何选择其中一个实例进行调用的过程。 🧠 学习目的 这篇文章我们将探讨负载…...

docker.desktop下安装普罗米修斯prometheus、grafana并看服务器信息

目标 在docker.desktop下先安装这三种组件,然后显示当前服务的CPU等指标。各种坑已踩,用的是当前时间最新的镜像 核心关系概述 组件角色依赖关系Prometheus开源监控系统,负责 数据采集、存储、查询及告警。依赖 Node-Exporter 提供的指标数据。Node-Exporter专用的 数据采集…...

Photoshop安装与配置--简单攻略版

下载地址:Photoshop软件工具下载 安装完成后,即可运行Photoshop.exe;打开工具页面后,按照下面简单配置即可 1.编辑-》首选项-》常规 或者直接快捷键CtrlK 暂存盘:一定要设置为非C盘 2.性能 3.文件处理 以上配置比较基础&#xf…...

AI时代的泛安全新范式:Kaamel智能体隐私与合规解决方案

引言:AI时代隐私保护的挑战与机遇 随着人工智能技术的迅猛发展,组织机构面临着前所未有的隐私、安全和合规挑战。个人数据的价值日益增长,而保护这些数据的复杂性也同步上升。如ClickUp的研究表明,AI智能代理(Agent)正在彻底改变…...

桌面级OTA测试解决方案:赋能智能网联汽车高效升级

一、前言 随着智能网联汽车的快速发展,OTA(Over-The-Air)技术已成为汽车软件更新和功能迭代的关键手段。为确保OTA升级的可靠性、安全性和效率,构建一套高效、便捷的桌面级OTA测试解决方案至关重要。 本方案基于Vector先进的软硬…...

PG,TRPO,PPO,GRPO,DPO原理梳理

强化学习方法的分类 一、基础概念 Policy Model(Actor Model):根据输入文本,预测下一个token的概率分布,输出下一个token也即Policy模型的“动作”。该模型需要训练,是我们最终得到的模型,并由上…...

Cursor新版0.49.x发布

小子看到 Cursor 0.49.x 版本正式发布,截止今天已经有两个小patch版本!本次更新聚焦于 自动化Rules生成、改进的 Agent Terminal 以及 MCP 图像支持,并带来了一系列旨在提升编码效率和协作能力的改进与修复。 以下是本次更新的详细内容&…...

ZLMediaKit 和 SRS的区别,哪个更好用?

ZLMediaKit 和 SRS(Simple RTMP Server)是两个主流的开源流媒体服务器框架,各自在功能、性能、适用场景等方面存在显著差异。以下是两者的对比分析及选择建议: 一、核心差异对比 协议支持 ZLMediaKit:支持更广泛的流媒…...

每日算法-250419

每日算法 - 2024年4月19日 记录今天完成的LeetCode算法题。 1710. 卡车上的最大单元数 题目描述 思路 贪心 解题过程 目标是最大化卡车可以装载的单元总数。根据贪心策略,我们应该优先装载单位体积(每个箱子)包含单元数 (numberOfUnitsPerB…...

PDF转excel+json ,vue3+SpringBoot在线演示+附带源码

在线演示地址:Vite Vuehttp://www.xpclm.online/pdf-h5 源码gitee前后端地址: javapdfexcel: javaPDF转excelhttps://gitee.com/gaiya001/javapdfexcel.git 盖亚/vuepdfhttps://gitee.com/gaiya001/vuepdf.git 后续会推出 前端版本跟nestjs版本 识别复…...

如何高效使用 Text to SQL 提升数据分析效率?四个关键应用场景解析

数据分析师和业务人员常常面临这样的困境:有大量数据等待分析,但 SQL 编写却成为效率瓶颈。即使对于经验丰富的数据分析师来说,编写复杂 SQL 查询也需要耗费大量时间;而对于不具备 SQL 专业知识的业务人员,数据分析则更…...

分享一个DeepSeek+自建知识库实现人工智能,智能回答高级用法。

这个是我自己搞的DeepSeek大模型自建知识库相结合到一起实现了更强大的回答问题能力还有智能资源推荐等功能。如果感兴趣的小伙伴可以联系进行聊聊,这个成品已经有了实现了,所以可以融入到你的项目,或者毕设什么的还可以去参加比赛等等。 1.项…...

突破速率瓶颈:毫米波技术如何推动 5G 网络迈向极限?

突破速率瓶颈:毫米波技术如何推动 5G 网络迈向极限? 引言 5G 网络的普及,已经让我们告别了“加载中”时代,实现了更快的数据传输、更低的延迟和更高的设备连接密度。而在 5G 技术的核心中,毫米波(mmWave&…...

jangow靶机笔记(Vulnhub)

环境准备: 靶机下载地址: https://download.vulnhub.com/jangow/jangow-01-1.0.1.ova kali地址:192.168.144.128 靶机(jangow)地址:192.168.144.180 一.信息收集 1.主机探测 使用arp-scan进行主机探…...

PyTorch `flatten()` 和 `squeeze()` 区别

PyTorch flatten() 和 squeeze() 区别 在 PyTorch 里,flatten() 和 squeeze(0) 是两个不同的张量操作, 1. flatten() 方法 flatten() 方法用于把一个多维张量展开成一维张量。它会将张量里的所有元素按顺序排列成一个一维序列。 语法 torch.flatten(input, start_dim=...

洛谷P1312 [NOIP 2011 提高组] Mayan 游戏

题目 #算法/进阶搜索 思路: 根据题意,我们可以知道,这题只能枚举,剪枝,因此,我们考虑如何枚举,剪枝. 首先,我们要定义下降函数down(),使得小木块右移时,能够下降到最低处,其次,我们还需要写出判断函数,判断矩阵内是否有小木块没被消除.另外,我们还需要消除函数,将矩阵内三个相连…...

thinkphp6 + oracle 数据库连接 表名、字段名大小写和字符集

之前一直用tp6连接的都是mysql数据,近期一个项目需要连接oracle数据,理论上thinkphp是支持oracle数据库的,但是由于oracle的数据库编码方式和字段表名大小写与mysql不一样。首先oracle的表名默认是全大写的,可是如果使用tp6连接的…...

wordpress SMTP配置qq邮箱发送邮件,新版QQ邮箱授权码获取方法

新版的QQ邮箱界面不同了,以下是新版的设置方法: 1. 进入邮箱后,点右上角的设置图标: 2. 左下角的菜单里,选择“账号与安全” : 3. 然后如下图,开启SMTP 服务: 4. 按提示验证短信&am…...

Django 实现服务器主动给客户端发送消息的几种常见方式及其区别

Django Channels 原理 :Django Channels 是 Django 的一个扩展,它通过使用 WebSockets 等协议来处理长连接,使服务器能够与客户端建立持久连接,从而实现双向通信。一旦连接建立,服务器可以随时主动向客户端发送消息。…...

2025年最新版 Git和Github的绑定方法,以及通过Git提交文件至Github的具体流程(详细版)

文章目录 Git和Github的绑定方法与如何上传至代码仓库一. 注册 GitHub 账号二.如何创建自己的代码仓库:1.登入Github账号,完成登入后会进入如下界面:2.点击下图中红色框选的按钮中的下拉列表3.选择New repostitory4.进入创建界面后&#xff0…...

基于LSTM-AutoEncoder的心电信号时间序列数据异常检测(PyTorch版)

心电信号(ECG)的异常检测对心血管疾病早期预警至关重要,但传统方法面临时序依赖建模不足与噪声敏感等问题。本文使用一种基于LSTM-AutoEncoder的深度时序异常检测框架,通过编码器-解码器结构捕捉心电信号的长期时空依赖特征&#…...

JavaScript中的Event事件对象详解

一、事件对象(Event)概述 1. 事件对象的定义 event 对象是浏览器自动生成的对象,当用户与页面进行交互时(如点击、键盘输入、鼠标移动等),事件触发时就会自动传递给事件处理函数。event 对象包含了与事件…...

极狐GitLab 用户 API 速率限制如何设置?

极狐GitLab 是 GitLab 在中国的发行版,关于中文参考文档和资料有: 极狐GitLab 中文文档极狐GitLab 中文论坛极狐GitLab 官网 用户 API 速率限制 (BASIC SELF) 您可以为对 Users API 的请求配置每个用户的速率限制。 要更改速率限制: 1.在…...

王牌学院,25西电通信工程学院(考研录取情况)

1、通信工程学院各个方向 2、通信工程学院近三年复试分数线对比 学长、学姐分析 由表可看出: 1、信息与通信工程25年相较于24年上升5分、军队指挥学25年相较于24年上升30分 2、新一代电子信息技术(专硕)25年相较于24年下降25分、通信工程&…...

深入理解 Java 多线程:锁策略与线程安全

文章目录 一、常见的锁策略1. 乐观锁&&悲观锁2. 读写锁3. 重量级锁&&轻量级锁4. 自旋锁5. 公平锁&&不公平锁6. 可重入锁 && 不可重入锁 二、CAS1. 什么是 CAS2. CAS 是怎么实现的3.CAS 有哪些应用1) 实现原子类2) 实现自旋锁 4. CAS 的 ABA 问…...

Java数据结构——ArrayList

Java中ArrayList 一 ArrayList的简介二 ArrayList的构造方法三 ArrayList常用方法1.add()方法2.remove()方法3.get()和set()方法4.index()方法5.subList截取方法 四 ArrayList的遍历for循环遍历增强for循环(for each)迭代器遍历 ArrayList问题及其思考 前言 ArrayList是一种 顺…...

科学量化AI对品牌产品印象 首个AI印象(AII)指数发布

2025年4月18日,营销传播数据研究领先机构四度传播研究院(SAC),正式推出了量化AI大模型对产品整体印象的AI印象,简称AII(ARTIFICIAL INTELLIGENCE IMPRESSIONS),同时发布了首个“汽车AI印象榜”。为企业和消…...

Python语法系列博客 · 第8期[特殊字符] Lambda函数与高阶函数:函数式编程初体验

上一期小练习解答(第7期回顾) ✅ 练习1:找出1~100中能被3或5整除的数 result [x for x in range(1, 101) if x % 3 0 or x % 5 0]✅ 练习2:生成字符串长度字典 words ["apple", "banana", "grape…...

FFmpeg 硬核指南:从底层架构到播放器全链路开发实战 基础

目录 1.ffmpeg的基本组成2.播放器的API2.1 复用器阶段2.1.1 分配解复用上下文2.1.2 文件信息操作2.1.3 综合示例 2. 2 编解码部分2.2.1 分配解码器上下文2.2.2编解码操作2.2.3 综合示例 3 ffmpeg 内存模型3.1 基本概念3.2API 1.ffmpeg的基本组成 模块名称功能描述主要用途AVFo…...