MySQL内置函数使用说明
MySQL函数使用说明

MySQL 是一个流行的关系型数据库管理系统,它提供了许多内置函数来处理和操作数据。这些函数可以简化数据库查询和操作的过程,提高代码的可读性和效率。以下是一些常见的 MySQL 内置函数及其使用说明和示例。
数值函数
ABS()
函数原型:ABS(x)
返回参数x的绝对值。
示例:
SELECT ABS(-5); -- 返回 5
ROUND(x, 保留位数)
函数原型:ROUND(x, d)
将参数x四舍五入到指定的保留位数d。
示例:
SELECT ROUND(3.14159, 2); -- 返回 3.14
CEIL(x)
函数原型:CEIL(x)
返回大于或等于参数x的最小整数。
示例:
SELECT CEIL(3.7); -- 返回 4
FLOOR(x)
函数原型:FLOOR(x)
返回小于或等于参数x的最大整数。
示例:
SELECT FLOOR(3.7); -- 返回 3
TRUNCATE(x, D)
函数原型:TRUNCATE(x, D)
将参数x截断到指定的小数位数D。
示例:
SELECT TRUNCATE(3.14159, 2); -- 返回 3.14
条件函数
IF()
函数原型:IF(condition, true_value, false_value)
根据条件condition返回不同的值。
示例:
SELECT IF(10 > 5, 'true', 'false'); -- 返回 'true'
IFNULL()
函数原型:IFNULL(expression, value)
如果expression不为NULL,则返回expression的值,否则返回value。
示例:
SELECT IFNULL(NULL, 'not null'); -- 返回 'not null'
字符串函数
CONCAT()
函数原型:CONCAT(string1, string2, ..., stringN)
将多个字符串连接为一个字符串。
示例:
SELECT CONCAT('Hello', ' ', 'World'); -- 返回 'Hello World'
CONCAT_WS()
函数原型:CONCAT_WS(separator, string1, string2, ..., stringN)
将多个字符串连接为一个字符串,使用separator分隔。
示例:
SELECT CONCAT_WS(',', 'apple', 'banana', 'orange'); -- 返回 'apple,banana,orange'
LENGTH()
函数原型:LENGTH(string)
返回字符串的长度。
示例:
SELECT LENGTH('Hello'); -- 返回 5
LEFT()
函数原型:LEFT(string, length)
返回字符串左边指定长度的子字符串。
示例:
SELECT LEFT('Hello', 3); -- 返回 'Hel'
RIGHT()
函数原型:RIGHT(string, length)
返回字符串右边指定长度的子字符串。
示例:
SELECT RIGHT('Hello', 3); -- 返回 'llo'
MID()
函数原型:MID(string, start, length)
返回字符串从指定位置开始指定长度的子字符串。
示例:
SELECT MID('Hello', 2, 3); -- 返回 'ell'
REPLACE()
函数原型:REPLACE(string, old_text, new_text)
替换字符串中的某个子字符串。
示例:
SELECT REPLACE('Hello World', 'World', 'Bob'); -- 返回 'Hello Bob'
SUBSTRING()
函数原型:SUBSTRING(string, start, length)
返回字符串从指定位置开始指定长度的子字符串。
示例:
SELECT SUBSTRING('Hello', 2, 3); -- 返回 'ell'
SUBSTRING_INDEX()
函数原型:SUBSTRING_INDEX(string, delimiter, count)
返回字符串中指定子字符串的出现位置,并返回该子字符串。
示例:
SELECT SUBSTRING_INDEX('www.example.com', '.', 2); -- 返回 'www.example'
聚合函数
COUNT()
函数原型:COUNT(expression)
返回表中行的数量。
示例:
SELECT COUNT(*) FROM users; -- 返回 users 表的行数
COUNT_BIG()
函数原型:COUNT_BIG(expression)
返回表中行的数量(不限制结果集的大小)。
示例:
SELECT COUNT_BIG(*) FROM users; -- 返回 users 表的行数
SUM()
函数原型:SUM(expression)
返回表中指定列的总和。
示例:
SELECT SUM(price) FROM orders; -- 返回 orders 表中 price 列的总和
AVG()
函数原型:AVG(expression)
返回表中指定列的平均值。
示例:
SELECT AVG(age) FROM students; -- 返回 students 表中 age 列的平均值
MAX()
函数原型:MAX(expression)
返回表中指定列的最大值。
示例:
SELECT MAX(score) FROM exams; -- 返回 exams 表中 score 列的最大值
MIN()
函数原型:MIN(expression)
返回表中指定列的最小值。
示例:
SELECT MIN(price) FROM products; -- 返回 products 表中 price 列的最小值
GROUP_CONCAT()
函数原型:GROUP_CONCAT(expression, separator)
将多个字符串连接起来,并将它们作为一行显示在结果集中。
示例:
SELECT GROUP_CONCAT(name, ', ') FROM students; -- 返回 students 表中 name 列的所有值,使用逗号分隔
日期和时间函数
DATE_FORMAT()
函数原型:DATE_FORMAT(date, format)
格式化日期时间字符串。
示例:
SELECT DATE_FORMAT(CURRENT_TIMESTAMP, '%Y-%m-%d'); -- 返回当前日期的年、月、日格式
DATE_ADD()
函数原型:DATE_ADD(date, INTERVAL value unit)
将一个日期加上指定的时间间隔。
示例:
SELECT DATE_ADD('2021-01-01', INTERVAL 1 MONTH); -- 返回 '2021-02-01'
DATE_SUB()
函数原型:DATE_SUB(date, INTERVAL value unit)
将一个日期减去指定的时间间隔。
示例:
SELECT DATE_SUB('2021-01-01', INTERVAL 1 DAY); -- 返回 '2020-12-31'
TIME_FORMAT()
函数原型:TIME_FORMAT(time, format)
格式化时间戳字符串。
示例:
SELECT TIME_FORMAT('12:30:45', '%H:%i:%s'); -- 返回 '12:30:45'
UNIX_TIMESTAMP()
函数原型:UNIX_TIMESTAMP([date])
将日期时间字符串转换为 Unix 时间戳。
示例:
SELECT UNIX_TIMESTAMP('2021-01-01 12:00:00'); -- 返回 Unix 时间戳
YEAR()
函数原型:YEAR(date)
提取日期时间字符串中的年份部分。
示例:
SELECT YEAR('2021-01-01'); -- 返回 2021
MONTH()
函数原型:MONTH(date)
提取日期时间字符串中的月份部分。
示例:
SELECT MONTH('2021-01-01'); -- 返回 1
DAY()
函数原型:DAY(date)
提取日期时间字符串中的天数部分。
示例:
SELECT DAY('2021-01-01'); -- 返回 1
HOUR()
函数原型:HOUR(time)
提取日期时间字符串中的小时部分。
示例:
SELECT HOUR('12:30:45'); -- 返回 12
MINUTE()
函数原型:MINUTE(time)
提取日期时间字符串中的分钟部分。
示例:
SELECT MINUTE('12:30:45'); -- 返回 30
SECOND()
函数原型:SECOND(time)
提取日期时间字符串中的秒数部分。
示例:
SELECT SECOND('12:30:45'); -- 返回 45
以上是一些常用的MySQL函数的说明和示例。这些函数可以帮助你更好地处理和操作数据,在MySQL语句中起到重要的作用。使用这些函数可以提高查询效率和数据处理的灵活性。更多函数的详细说明可以参考MySQL官方文档。
相关文章:
MySQL内置函数使用说明
MySQL函数使用说明 MySQL 是一个流行的关系型数据库管理系统,它提供了许多内置函数来处理和操作数据。这些函数可以简化数据库查询和操作的过程,提高代码的可读性和效率。以下是一些常见的 MySQL 内置函数及其使用说明和示例。 数值函数 ABS() 函数原…...
java后端富文本转word,再传递到浏览器下载。
思路参考,以及所有的工具类都使用了》牧羊人大佬的代码《 有帮助的话不用给到我点赞,给大佬点赞即可 这是前端代码,必须使用get。 post后端返回的流浏览器接收不到(具体原因不详)。get无法传递requestBody,…...
【动态规划算法】-回文串问题题型(34-40题)
💖作者:小树苗渴望变成参天大树🎈 🎉作者宣言:认真写好每一篇博客💤 🎊作者gitee:gitee✨ 💞作者专栏:C语言,数据结构初阶,Linux,C 动态规划算法🎄 如 果 你 …...
STM32基础回顾
文章目录 单片机编程的原理GPIO中断EXTI外部中断定时器中断、串口中断 定时器定时器中断配置过程通用定时器输出比较功能:PWM波的生成定时器的输入捕获功能主从触发模式PWMI模式 定时器的编码器接口 DMA简介通信接口USART软件配置流程:1、仅发数据的配置…...
如何解决电脑无声问题:排除故障的几种常见方法
大家好,今天我们来讨论一下处理电脑没有声音的故障。当你突然发现电脑静音无声时,需要逐步排除可能的问题,但总体而言,声音故障是相对容易解决的。接下来,我们将介绍一些排除电脑无声问题的方法。 第一步:…...
Apache RocketMQ 命令注入
漏洞简介 RocketMQ 5.1.0及以下版本,在一定条件下,存在远程命令执行风险。RocketMQ的NameServer、Broker、Controller等多个组件外网泄露,缺乏权限验证,攻击者可以利用该漏洞利用更新配置功能以RocketMQ运行的系统用户身份执行命令…...
二、搜索与图论6:Dijkstra 模板题+算法模板(Dijkstra求最短路 I, Dijkstra求最短路 II,1003 Emergency)
文章目录 算法模板Dijkstra题目代码模板朴素dijkstra算法堆优化版dijkstra 树与图的存储(1) 邻接矩阵:(2) 邻接表:关于e[],ne[],h[]的理解 关于堆的原理与操作 模板题Dijkstra求最短路 I原题链接题目思路题解 Dijkstra求最短路 II原题链接题目思路题解 1…...
ROS2学习(四)进程,线程与节点的关系
节点与节点执行器 节点,英文是node,在ROS2中,节点是一个抽象的实体,它可以代表某种或某类特定功能的抽象集合体,它可以存在于进程中,也可以存在于线程中。所有ROS2的基础功能最基础的载体是节点,所有的通信…...
【物联网】DMA传输原理与实现详解(超详细)
DMA(Direct Memory Access,直接内存访问)是一种计算机数据传输方式,允许外围设备直接访问系统内存,而无需CPU的干预。 文章目录 Part 1: DMA的工作原理配置阶段:数据传输阶段: Part 2: DMA数据…...
Java类集框架(二)
目录 1.Map(常用子类 HashMap,LinkedHashMap,HashTable,TreeMap) 2.Map的输出(Map.Entry,iterator,foreach) 3.数据结构 - 栈(Stack) 4.数据结构 - 队列(Q…...
爬虫008_流程控制语句_if_if else_elif_for---python工作笔记026
然后我们再来看一下这里的,判断,可以看到 再看一个判断,这里的布尔类型 第二行有4个空格,python的格式 注意这里,输入的age是字符串,需要转一下才行 int可以写到int(intput("阿斯顿法师打发地方")) 这样也可以...
【随笔】五周年创作纪念日
今天收到了 CSDN 的创作五周年提示,正好前几天(7.31)我也成功申请了 CSDN 博客专家,趁这个机会分享一下这几年写博客的感受吧 机缘 关注我比较久的读者应该知道我是从学传统工科半路出家搞计算机的,这里的经历还是比…...
7_分类算法—逻辑回归
文章目录 逻辑回归:1 Logistic回归(二分类问题)1.1 sigmoid函数1.2 Logistic回归及似然函数(求解)1.3 θ参数求解1.4 Logistic回归损失函数1.5 LogisticRegression总结 2 Softmax回归(多分类问题࿰…...
【计算机网络】应用层协议 -- DNS协议
文章目录 1. DNS背景2. 域名简介3. 域名解析过程4. 使用dig查看DNS过程 1. DNS背景 DNS(Domain Name System,域名系统)协议,是一个用来将域名转化为IP地址的应用层协议。 TCP/IP当中通过IP地址和端口号的方式,来确定…...
ES6 - 数组新增的一些常用方法
文章目录 1,Array.from()2,Array.of()3,find(),findIndex(),findLast()和findLastIndex()4,Array.fill()5,keys(),values() 和 entries()6,Array.includes()7,…...
【BEV感知】3-BEV开源数据集
3-BEV开源数据集 1 KITTI1.1 KITTI数据怎么采集?1.2 KITTI数据规模有多大?1.3 KITTI标注了哪些目标?1.4 转换矩阵1.5 标签文件 2 nuScenes2.1 nuScenes Vs KITTI2.2 标注文件 1 KITTI KITTI 1.1 KITTI数据怎么采集? 通过车载相机、激光雷达等传感器采集。 只提供了相机正…...
Kafka-Broker工作流程
kafka集群在启动时,会将每个broker节点注册到zookeeper中,每个broker节点都有一个controller,哪个controller先在zookeeper中注册,哪个controller就负责监听brokers节点变化,当有分区的leader挂掉时,contro…...
第八篇-Tesla P40+ChatGLM2+LoRA
部署环境 系统:CentOS-7CPU: 14C28T显卡:Tesla P40 24G驱动: 515CUDA: 11.7cuDNN: 8.9.2.26目的 验证P40部署可行性,只做验证学习lora方式微调创建环境 conda create --name glm-tuning python3.10 conda activate glm-tuning克隆项目 git clone http…...
调用feign返回错误的数据
bug描述: 在一个请求方法中会调用到feign去获取其他的数据。 List<Demo> list aaaFeignApi.getData(personSelectGetParam);在调用的时候,打断点到feign的地方,数据是存在的,并且有15条。但是返回到上面代码的时候数据就…...
【Spring】(二)从零开始的 Spring 项目搭建与使用
文章目录 前言一、Spring 项目的创建1.1 创建 Maven 项目1.2 添加 Spring 框架支持1.3 添加启动类 二、储存 Bean 对象2.1 创建 Bean2.1 将 Bean 注册到 Spring 容器 三、获取并使用 Bean 对象3.1 获取Spring 上下文3.2 ApplicationContext 和 BeanFactory 的区别3.3 获取指定的…...
s2-pro音色克隆教程:解决参考音频背景噪音导致失真的处理技巧
s2-pro音色克隆教程:解决参考音频背景噪音导致失真的处理技巧 s2-pro是Fish Audio开源的专业级语音合成模型镜像,支持文本转语音,并可以通过参考音频复用音色。本文将重点介绍如何处理参考音频中的背景噪音问题,确保音色克隆效果…...
PyTorch 2.8镜像新手入门:无需配置,直接开启你的AI项目实战
PyTorch 2.8镜像新手入门:无需配置,直接开启你的AI项目实战 1. 为什么选择PyTorch 2.8预置镜像? 深度学习项目最让人头疼的往往不是算法本身,而是环境配置。不同版本的PyTorch、CUDA、cuDNN之间的兼容性问题,足以让一…...
卡证检测模型自动化测试:Python脚本构建测试用例
卡证检测模型自动化测试:Python脚本构建测试用例 最近在部署一个卡证检测模型服务,上线前心里总有点不踏实。模型在开发环境跑得挺好,但真放到线上,面对各种五花八门的证件图片——光线暗的、角度歪的、背景杂乱的——它能扛得住…...
别再为OpenBCI_GUI安装发愁了!保姆级教程带你从Processing配置到成功运行(附常见错误解决)
别再为OpenBCI_GUI安装发愁了!保姆级教程带你从Processing配置到成功运行(附常见错误解决) 第一次接触OpenBCI_GUI时,我完全理解那种面对陌生环境的无助感。作为一个开源脑机接口平台的核心组件,OpenBCI_GUI确实功能强…...
从零到一:用Python和TensorFlow搭建卫星图像识别系统,Vue3+Django全栈实战
从零构建卫星图像识别全栈系统:Python与Vue3的深度协同实战 卫星图像识别技术正在重塑农业监测、城市规划与灾害预警等领域的决策方式。想象一下,当无人机拍摄的农田图像能自动识别作物健康状况,或城市规划部门通过卫星照片实时监控建筑变化—…...
Kandinsky-5.0-I2V-Lite-5s效果展示:C++高性能推理后端优化案例
Kandinsky-5.0-I2V-Lite-5s效果展示:C高性能推理后端优化案例 1. 优化成果速览 这次针对Kandinsky-5.0-I2V-Lite-5s模型的C后端优化,取得了相当不错的成绩。在RTX 4090显卡上,单次推理耗时从原来的3.5秒降低到了2.1秒,速度提升了…...
Open UI5 源代码解析之809:FormRenderer.js
源代码仓库: https://github.com/SAP/openui5 源代码位置:src\sap.ui.layout\src\sap\ui\layout\form\FormRenderer.js FormRenderer.js 详解与项目作用说明 本文聚焦于 FormRenderer.js 在 openui5-master 项目中的定位与职责,并以具体场景与真实世界类比来解释其渲染流…...
告别编译失败:Qt 6.6.0交叉编译到ARM平台最常见的5个错误及解决方法(基于gcc-linaro-14.0.0)
告别编译失败:Qt 6.6.0交叉编译到ARM平台最常见的5个错误及解决方法(基于gcc-linaro-14.0.0) 最近在将Qt 6.6.0交叉编译到i.MX6ULL开发板时,遇到了不少坑。作为一个经历过多次编译失败的老手,我整理了几个最容易导致编…...
探索R语言中的数据处理:序列统计
在数据分析中,我们经常需要处理复杂的顺序数据,例如测试的时间序列。在本篇博客中,我们将探讨如何使用R语言来处理一个特定的问题:统计四种测试(Test 1到Test 4)在不同顺序下的执行频率。 问题描述 假设我们有一个研究数据框,其中包含四种测试的日期,这些测试可以以任…...
**遗传算法在路径优化中的创新应用:从理论到Python实战**在智能优化领域,**遗传算法(Genetic A
遗传算法在路径优化中的创新应用:从理论到Python实战 在智能优化领域,遗传算法(Genetic Algorithm, GA) 凭借其强大的全局搜索能力和对复杂问题的适应性,成为解决组合优化问题的重要工具。本文将深入探讨如何使用 Pyth…...
