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

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回归(多分类问题&#xff0…...

【计算机网络】应用层协议 -- 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&#xff0c…...

【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描述&#xff1a; 在一个请求方法中会调用到feign去获取其他的数据。 List<Demo> list aaaFeignApi.getData(personSelectGetParam);在调用的时候&#xff0c;打断点到feign的地方&#xff0c;数据是存在的&#xff0c;并且有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 获取指定的…...

在软件开发中正确使用MySQL日期时间类型的深度解析

在日常软件开发场景中&#xff0c;时间信息的存储是底层且核心的需求。从金融交易的精确记账时间、用户操作的行为日志&#xff0c;到供应链系统的物流节点时间戳&#xff0c;时间数据的准确性直接决定业务逻辑的可靠性。MySQL作为主流关系型数据库&#xff0c;其日期时间类型的…...

TDengine 快速体验(Docker 镜像方式)

简介 TDengine 可以通过安装包、Docker 镜像 及云服务快速体验 TDengine 的功能&#xff0c;本节首先介绍如何通过 Docker 快速体验 TDengine&#xff0c;然后介绍如何在 Docker 环境下体验 TDengine 的写入和查询功能。如果你不熟悉 Docker&#xff0c;请使用 安装包的方式快…...

为什么需要建设工程项目管理?工程项目管理有哪些亮点功能?

在建筑行业&#xff0c;项目管理的重要性不言而喻。随着工程规模的扩大、技术复杂度的提升&#xff0c;传统的管理模式已经难以满足现代工程的需求。过去&#xff0c;许多企业依赖手工记录、口头沟通和分散的信息管理&#xff0c;导致效率低下、成本失控、风险频发。例如&#…...

django filter 统计数量 按属性去重

在Django中&#xff0c;如果你想要根据某个属性对查询集进行去重并统计数量&#xff0c;你可以使用values()方法配合annotate()方法来实现。这里有两种常见的方法来完成这个需求&#xff1a; 方法1&#xff1a;使用annotate()和Count 假设你有一个模型Item&#xff0c;并且你想…...

MMaDA: Multimodal Large Diffusion Language Models

CODE &#xff1a; https://github.com/Gen-Verse/MMaDA Abstract 我们介绍了一种新型的多模态扩散基础模型MMaDA&#xff0c;它被设计用于在文本推理、多模态理解和文本到图像生成等不同领域实现卓越的性能。该方法的特点是三个关键创新:(i) MMaDA采用统一的扩散架构&#xf…...

Rust 异步编程

Rust 异步编程 引言 Rust 是一种系统编程语言,以其高性能、安全性以及零成本抽象而著称。在多核处理器成为主流的今天,异步编程成为了一种提高应用性能、优化资源利用的有效手段。本文将深入探讨 Rust 异步编程的核心概念、常用库以及最佳实践。 异步编程基础 什么是异步…...

A2A JS SDK 完整教程:快速入门指南

目录 什么是 A2A JS SDK?A2A JS 安装与设置A2A JS 核心概念创建你的第一个 A2A JS 代理A2A JS 服务端开发A2A JS 客户端使用A2A JS 高级特性A2A JS 最佳实践A2A JS 故障排除 什么是 A2A JS SDK? A2A JS SDK 是一个专为 JavaScript/TypeScript 开发者设计的强大库&#xff…...

使用LangGraph和LangSmith构建多智能体人工智能系统

现在&#xff0c;通过组合几个较小的子智能体来创建一个强大的人工智能智能体正成为一种趋势。但这也带来了一些挑战&#xff0c;比如减少幻觉、管理对话流程、在测试期间留意智能体的工作方式、允许人工介入以及评估其性能。你需要进行大量的反复试验。 在这篇博客〔原作者&a…...

LabVIEW双光子成像系统技术

双光子成像技术的核心特性 双光子成像通过双低能量光子协同激发机制&#xff0c;展现出显著的技术优势&#xff1a; 深层组织穿透能力&#xff1a;适用于活体组织深度成像 高分辨率观测性能&#xff1a;满足微观结构的精细研究需求 低光毒性特点&#xff1a;减少对样本的损伤…...

Proxmox Mail Gateway安装指南:从零开始配置高效邮件过滤系统

&#x1f49d;&#x1f49d;&#x1f49d;欢迎莅临我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐&#xff1a;「storms…...