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官方文档。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/19501.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

静态资源导入探究

静态资源可以在哪里找呢?我们看看源码 从这个类进去 里面有个静态类 WebMvcAutoConfigurationAdapter 有个配置类,将这个类的对象创建并导入IOC容器里 这个静态类下有个方法 addResourceHandlers(ResourceHandlerRegistry registry)静态资源处理器 若自…

[软件工程] 架构映射战略设计方案模板

3 系统上下文 结合全局分析阶段获得的价值需求(利益相关者、系统愿景、系统范围)确定系统上下文,体现用户、目标系统与伴生系统之间的关系。 3.1 概述 绘制系统上下文图,明确解空间的系统边界。 3.2 系统协作业务流程1…n 根据全局…

从零实现深度学习框架——Transformer从菜鸟到高手(一)

引言 💡本文为🔗[从零实现深度学习框架]系列文章内部限免文章,更多限免文章见 🔗专栏目录。 本着“凡我不能创造的,我就不能理解”的思想,系列文章会基于纯Python和NumPy从零创建自己的类PyTorch深度学习框…

【环境配置】Windows下WSL将ubuntu挪位置-系统盘清理

问题–垃圾太多,系统盘空间占用太大 最近 C 盘空间暴涨,用工具 WinDirStat-强烈推荐的工具 查看发现 WSL 子系统占用了6个多 G 的空间,遂想办法挪个位置; 【关键字】将 Windows 里的子系统挪到非系统盘 D 盘; 解决 打…

Redis 序列化器和持久化

Redis 序列化器 针对数据的序列化/反序列化提供了多种可选择策略 比如RedisSerializer,接下来我们详细看看 1、JdkSerializationRedisSerializer 用于 POJO 对象的存取场景,使用 JDK 本身序列化机制,将 pojo 类通过ObjectInputStream/Object…

生产服务器突然本机无法访问本机IP的端口

生产服务器突然本机无法访问本机IP的端口 一、现象描述 生产服务器突然无法访问自己本机IP地址的端口,通过localhost或者127.0.0.1都可以正常访问 二、问题分析 服务器是搭建在虚拟机上面,起初由于服务器内存不足的原因,导致了服务器故障无…

Rust-调用C程序

在Rust中调用C语言的代码需要以下几个步骤: 编写或获得C语言的代码。创建Rust的外部函数接口(FFI)。使用Rust的unsafe块调用C函数。 下面我们通过一个例子来演示这个过程。 假设我们有一个C语言函数,用于交换两个整数&#xff…

深度学习环境配置pytorch-GPU版本

一、下载与安装Anaconda 官网:https://www.anaconda.com/download 安装时添加环境变量勾选上,这样可以减少一步操作,不用再去自己手动添加了。 二、在anaconda里面创建虚拟环境 创建虚拟环境,其中pytorch为虚拟环境名,…

UNet 系列:做医学图像分割的任何人,都必须要会使用 nnU-Net

UNet 系列 UNet下采样和上采样跳跃连接 UNet:多层级和多尺度的密集链接nnUNet集成模型预处理训练过程推理后处理4行命令使用 nnUNet 训练自己的医学图像分割模型 UNet 经典的卷积神经网络都很深,越深的卷积层越适合处理大目标的东西,而医学病…

golang自带的命令行解析库flag库实践

1. 简介 flag用于解析命令行选项。有过类 Unix 系统使用经验的童鞋对命令行选项应该不陌生。例如命令ls -al列出当前目录下所有文件和目录的详细信息,其中-al就是命令行选项。 命令行选项在实际开发中很常用,特别是在写工具的时候。 指定配置文件的路径…

爆改vue3 setup naiveui可编辑table

使用naiveui官网的可编辑table总是报错,所以手写了一个 思路:table数据数组unitMsgArr对应一个布尔的数组isEditArr ,点击table可编辑的行数据的时候,更改对应的isEdit为true,此时渲染组件EditCom,在EditC…

flask---》登录认证装饰器/配置文件/路由系统

登录认证装饰器 # 0 装饰器的本质原理-# 类装饰器:1 装饰类的装饰器 2 类作为装饰器 # 1 装饰器使用位置,顺序 # 3 flask路由下加装饰器,一定要加endpoint-如果不指定endpoint,反向解析的名字都是函数名,不加装饰器…

【数据可视化】(一)数据可视化概述

目录 0.本章节概述 一、数据可视化 1、什么是数据可视化? 2、数据可视化的好处 3、数据可视化的用途 二、数据探索 1、数据相关工具的使用情景: 2、探索性查询 三、数据挑战 1、什么是数据挑战?

24考研数据结构-数组和特殊矩阵

目录 数据结构:数组与特殊矩阵数组数组的特点数组的用途 特殊矩阵对角矩阵上三角矩阵和下三角矩阵稀疏矩阵特殊矩阵的用途 结论 3.4 数组和特殊矩阵3.4.1数组的存储结构3.4.2普通矩阵的存储3.4.3特殊矩阵的存储1. 对称矩阵(方阵)2. 三角矩阵(方阵)3. 三对角矩阵(方阵…

图像处理之hough圆形检测

hough检测原理 点击图像处理之Hough变换检测直线查看 下面直接描述检测圆形的方法 基于Hough变换的圆形检测方法 对于一个半径为 r r r,圆心为 ( a , b ) (a,b) (a,b)的圆,我们将…

vscode里安装Go插件和配置Go环境

vscode是一款跨平台、轻量级、插件多的开源IDE,在vscode不仅可以配置C/C、Python、R、Ruby等语言的环境,还可以配置Go语言的环境。这里介绍在vscode里安装Go语言的插件和配置Go语言环境,系统是Win10 64位。 1、下载Go安装包和配置GOROOT、GO…

283. 移动零

移动零 题目 给定一个数组 nums&#xff0c;编写一个函数将所有 0 移动到数组的末尾&#xff0c;同时保持非零元素的相对顺序。 请注意 &#xff0c;必须在不复制数组的情况下原地对数组进行操作。 答案1 class Solution { public:void moveZeroes(vector<int>& nums…

深度思考java基础面经

基础 1 重载和重写的区别 1.1 区别 重载和重写是两个编程术语&#xff0c;主要用在面向对象的编程语言中。以下是重载和重写的主要区别&#xff1a; 方法重载&#xff08;Overloading&#xff09;&#xff1a;发生在同一个类中&#xff0c;方法重载是指一个类中定义了多个同…

内部类和类的初始化实例化过程

一、内部类 1. 什么是内部类 在类的内部定义一个类&#xff0c;专门服务于外部类&#xff0c;便于访问外部类的属性和方法。 2. 内部类的分类 成员内部类&#xff1a;定义在类的成员变量的位置 静态内部类&#xff1a;使用起来跟普通的外部类基本一致&#xff1b;非静态内部…

一年级数学 数一数(一到十)

今天我们来学习数一数 有一些老人 眼睛可能花了 需要我们在动物园数清楚是多少个动物 然后告诉他们 可能有的小朋友 不知道某些数字怎么读 您可以打开地址 https://fanyi.baidu.com/?aldtype16047#zh/en/ 将数字 输入到 输入框内 然后点击 下面的小话筒 系统就会读出来了 小…