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

MySQL常用函数总结

1. LEAST 函数:
LEAST(value1, value2, ..., valueN)
2. GREATEST 函数:
GREATEST(value1, value2, ..., valueN)

字符串比较规则:

  • 从字符串的第一个字符开始,逐个字符进行比较,直到找到不同的字符为止。
  • 字符顺序决定大小:比如'A' < 'B''a' < 'b',如果一个字符串是另一个字符串的前缀,则短的字符串更小。例如,'abc' < 'abcd'
SELECT GREATEST('apple', 'banana', 'grape') AS max_value; --grape
3.字符串函数
  • concat(s1,s2,...,sn) : 拼接字符串,
  • lower(str) : 转为小写; upper:转为大写
  • lpad(str,n,pad) : 左填充,用字符串padstr的左边进行填充,达到n个字符串长度 ; rpad()右填充
  • trim(str) : 去掉字符串头部和尾部的空格
  • substring(str,start,len) : 返回字符串strstart位置开始len长度的字符串
SELECT SUBSTRING('wjq','3',1)  
FROM DUALSELECT RPAD('wjq',7,'gfgkhj')
FROM DUAL
4.数值函数
  • ceil(x) : 向上取整; floor(x):向下取整
  • mod(x/y) : 取模
  • rand(): 返回0到1内的随机数
  • round(x,y): 求x四舍五入的值,保留y位小数
5.日期函数
  • curdate(): 返回当前日期
  • curtime(): 返回当前时间
  • now():返回当前日期和时间
  • year(date): 返回指定date的年份
  • month(date): 获取指定date的月份
  • day(date): 获取指定date的日期
  • date_add(date,interval expr type) :返回一个日期/时间值加上expr时间间隔后的时间值
  • datediff(date1,date2): 返回这两个时间之间的天数
  • DATEDIFF(end_date, start_date):返回两个日期的差值
6.流程函数
  • IF(value,t,f) 如果value为true,则返回t,否则返回f

  • IFNULL(value1,value2) 如果value1不为空,返回value1,否则返回value2

  • CASE WHEN [val] THEN [res1] … ELSE [default] END 如果val1为true,返回res1,…否则返回default默认值

SELECT IF(1 > 0, 'True', 'False');SELECT IFNULL(NULL, 'Default Value');SELECT CASE WHEN score >= 60 THEN 'Pass' ELSE 'Fail' END;SELECT CASE grade WHEN 'A' THEN 'Excellent' WHEN 'B' THEN 'Good' ELSE 'Average' END;
7.聚合函数
  • COUNT():计算一列中的行数或非空值的个数
SELECT COUNT(*) FROM table_name;
  • SUM():计算一列的总和。
SELECT SUM(column_name) FROM table_name;
  • AVG():计算平均值。
SELECT AVG(column_name) FROM table_name;
  • MAX():返回列中最大值。
SELECT MAX(column_name) FROM table_name;
  • MIN():返回列中最小值。
SELECT MIN(column_name) FROM table_name;
  • GROUP_CONCAT() (MySQL):将列中的值连接成一个字符串。
SELECT GROUP_CONCAT(column_name) FROM table_name;
8.IFNULL函数

检查表达式的值是否为 NULL。如果是 NULL,则返回一个指定的替代值;如果不是 NULL,则返回表达式原来的值。

语法:

IFNULL(expression, alt_value)
  • expression:要检查的表达式
  • alt_value:当 expressionNULL 时返回的值。
9.count的几种用法

COUNT(*) 会统计表中的所有行数(包括包含 NULL 值的行)

SELECT COUNT(*) FROM table_name;

COUNT(column_name) 只统计列中非 NULL 的值

SELECT COUNT(column_name) FROM table_name;

COUNT(DISTINCT column_name) 统计列中不同值的数量,忽略重复值和 NULL 值.

SELECT COUNT(DISTINCT column_name) FROM table_name;
http://www.dtcms.com/a/308812.html

相关文章:

  • 经典算法之美:冒泡排序的优雅实现
  • 多场景-阶梯式碳交易机制下考虑需求响应的综合能源系统优化(MATLAB模型)
  • 智能Agent场景实战指南 Day 27:Agent部署与可扩展性
  • 本地部署VMware ESXi,并实现无公网IP远程访问管理服务器
  • C++手撕简单KNN
  • 如何使用自定义@DS注解切换数据源
  • 中小企业数据保护指南:如何用群晖NAS构建高效备份体系?
  • pytorch程序语句固定开销分析
  • hive新增列之后插入新数据时,新列为NULL的解决办法
  • 火焰图(Flame Graph)深度指南:CPU性能分析与瓶颈定位
  • 2025.8-12月 AI相关国内会议
  • C基础 12_day
  • XL2422 无线收发芯片,可用于遥控玩具和智能家居等应用领域
  • 网络层概述
  • LLM残差流为何会超过1?
  • Lombok 字段魔法:用 @FieldDefaults 解锁“隐身+锁死”双重特效
  • Linux731 shell工具;[]字符
  • kettle插件-kettle http client plus插件,轻松解决https接口无法调用文件流下载问题
  • 数据库连接池性能优化实战
  • 【RH134 问答题】第 13 章 运行容器
  • 谷歌浏览器之f12打开控制台debugger模式实现条件控制打印输出及字节数组条件
  • Java 并发编程基础概念与常见问题梳理
  • 电商项目_性能优化_高并发缓存一致性
  • 【Unity笔记04】数据持久化
  • HTM 5 的离线储存的使用和原理
  • Unity游戏开发中的3D数学基础详解
  • MATLAB 2025a的下载以及安装,安装X310的测试附加功能(附加安装包)
  • 因为想开发新项目了~~要给老Python项目整个虚拟环境
  • 旋转花键在机械加工中心ATC装置中有什么优势?
  • 01 全基因组关联分析原理