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

MySQL 常用函数总结

MySQL 提供了丰富的内置函数,用于在查询中进行各种计算、字符串处理、日期和时间操作等。这些函数可以帮助我们更有效地从数据库中检索和处理数据。下面将总结一些 MySQL 中常用的函数及其用法。

1. 数值函数

1.1 ROUND()

ROUND() 函数用于对数值进行四舍五入操作。

SELECT ROUND(123.4567, 2);  -- 结果为 123.46

1.2 CEIL() 和 FLOOR()

CEIL() 函数返回大于或等于指定数值的最小整数(向上取整),而 FLOOR() 函数返回小于或等于指定数值的最大整数(向下取整)。

SELECT CEIL(123.4567);    -- 结果为 124  
SELECT FLOOR(123.4567);   -- 结果为 123

1.3 ABS()

ABS() 函数返回数值的绝对值。

SELECT ABS(-123);   -- 结果为 123

2. 字符串函数

2.1 CONCAT()

CONCAT() 函数用于连接两个或多个字符串。


SELECT CONCAT('Hello', ' ', 'World');  -- 结果为 'Hello World'

2.2 LENGTH()

LENGTH() 函数返回字符串的长度。

SELECT LENGTH('Hello');  -- 结果为 5

2.3 UPPER() 和 LOWER()

UPPER() 函数将字符串转换为大写,而 LOWER() 函数将字符串转换为小写。

SELECT UPPER('hello');    -- 结果为 'HELLO'  
SELECT LOWER('HELLO');    -- 结果为 'hello'

2.4 SUBSTRING()

SUBSTRING() 函数用于提取字符串的子串。

SELECT SUBSTRING('Hello World', 1, 5);  -- 结果为 'Hello'

2.5 REPLACE()

REPLACE() 函数用于在字符串中替换指定的子串。

SELECT REPLACE('Hello World', 'World', 'MySQL');  -- 结果为 'Hello MySQL'

3. 日期和时间函数

3.1 NOW()

NOW() 函数返回当前的日期和时间。

SELECT NOW();  -- 返回当前日期和时间

3.2 CURDATE() 和 CURTIME()

CURDATE() 函数返回当前的日期,而 CURTIME() 函数返回当前的时间。

SELECT CURDATE();    -- 返回当前日期  
SELECT CURTIME();    -- 返回当前时间

3.3 DATE_FORMAT()

DATE_FORMAT() 函数用于按照指定的格式显示日期/时间值。

SELECT DATE_FORMAT(NOW(), '%Y-%m-%d %H:%i:%s');  -- 返回格式化的日期和时间

3.4 DATEDIFF()

DATEDIFF() 函数返回两个日期之间的天数差。

复制代码
SELECT DATEDIFF('2023-10-23', '2023-10-01');  -- 结果为 22

4. 聚合函数

4.1 AVG()

AVG() 函数返回某列的平均值。

SELECT AVG(salary) FROM employees;  -- 返回员工的平均工资

4.2 SUM()

SUM() 函数返回某列的总和。

SELECT SUM(quantity) FROM orders;  -- 返回订单的总数量

4.3 COUNT()

COUNT() 函数返回匹配指定条件的行数。

SELECT COUNT(*) FROM employees;    -- 返回员工的总数  
SELECT COUNT(DISTINCT department) FROM employees;  -- 返回不同部门的数量

4.4 MAX() 和 MIN()

MAX() 函数返回某列的最大值,而 MIN() 函数返回某列的最小值。

SELECT MAX(salary) FROM employees;  -- 返回员工的最高工资  
SELECT MIN(salary) FROM employees;  -- 返回员工的最低工资

5. 其他常用函数

5.1 IFNULL()

IFNULL() 函数用于处理 NULL 值。如果第一个参数为 NULL,则返回第二个参数的值;否则返回第一个参数的值。

SELECT IFNULL(NULL, '默认值'); -- 结果为 '默认值'
SELECT IFNULL(column_name, '默认值') FROM table_name; -- 如果 column_name 中的值为 NULL,则返回 '默认值'

5.2 CASE 语句

CASE 语句在 MySQL 中用于在查询中进行条件判断,类似于其他编程语言中的 switch-case 结构。

SELECT   column_name,  CASE   WHEN condition1 THEN result1  WHEN condition2 THEN result2  ELSE result3  END AS case_result  
FROM table_name;

5.3 CONCAT_WS()

CONCAT_WS() 函数用于连接两个或多个字符串,并指定一个分隔符。

SELECT CONCAT_WS('-', '2023', '10', '23');  -- 结果为 '2023-10-23'

5.4 TRIM()

TRIM() 函数用于去除字符串开头和结尾的指定字符(默认为空格)。

SELECT TRIM('   Hello World   ');  -- 结果为 'Hello World'  
SELECT TRIM(LEADING 'x' FROM 'xxxHello Worldxxx');  -- 结果为 'Hello Worldxxx'  
SELECT TRIM(TRAILING 'x' FROM 'xxxHello Worldxxx');  -- 结果为 'xxxHello World'  
SELECT TRIM(BOTH 'x' FROM 'xxxHello Worldxxx');  -- 结果为 'Hello World'

5.5 COALESCE()

COALESCE() 函数返回参数列表中的第一个非 NULL 值。

SELECT COALESCE(NULL, NULL, '默认值');  -- 结果为 '默认值'  
SELECT COALESCE(column1, column2, '默认值') FROM table_name;  -- 返回 column1、column2 或 '默认值' 中的第一个非 NULL 值
http://www.lryc.cn/news/378203.html

相关文章:

  • SpingBoot快速入门下
  • 什么是symbol?
  • Tailwind CSS 响应式设计实战指南
  • 如何把模糊的图片修复变清晰,怎么做?有那些方法?
  • 思科路由器密码恢复方法
  • HTML某联招聘
  • 第一百一十六节 Java 面向对象设计 - Java 终止块
  • YOLOv10改进 | 注意力篇 | YOLOv10引入YOLO-Face提出的SEAM注意力机制优化物体遮挡检测
  • 问题解决:Problem exceeding maximum token in azure openai (with java)
  • eNSP学习——OSPF在帧中继网络中的配置
  • PHP转Go系列 | 条件循环的使用姿势
  • 八大经典排序算法
  • 【LeetCode热题 100】三数之和
  • 【深度学习驱动流体力学】完整配置安装 OpenFOAM 及其所需的ThirdParty与QT5工具
  • YOLOv10改进 | Neck | 添加双向特征金字塔BiFPN【含二次独家创新】
  • PostgreSQL源码分析——pg_basebackup
  • QT基础 - 常见图表绘制
  • 解释React中的“端口(Portals)”是什么,以及如何使用它来渲染子节点到DOM树以外的部分。
  • java实现分类下拉树,点击时对应搜索---后端逻辑
  • 【2024最新华为OD-C/D卷试题汇总】[支持在线评测] 披萨大作战(100分) - 三语言AC题解(Python/Java/Cpp)
  • 探索Facebook对世界各地文化的影响
  • 导出requirements.txt
  • 我主编的电子技术实验手册(09)——并联电路
  • 数据结构_二叉树
  • Java线程池七个参数详解
  • 产品Web3D交互展示有什么优势?如何快速制作?
  • Python | Leetcode Python题解之第171题Excel列表序号
  • 【银河麒麟】高可用触发服务器异常重启,处理机制详解
  • 性能工具之 JMeter 常用组件介绍(七)
  • Python学习笔记15:进阶篇(四)文件的读写。