当前位置: 首页 > 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.lryc.cn/news/606089.html

相关文章:

  • 2025年7月最新一区SCI-基尔霍夫定律优化算法Kirchhoff’s law algorithm-附Matlab免费代码
  • [硬件电路-109]:模拟电路 - 自激振荡器的原理,一种把直流能量转换成交流信号的装置!
  • 专题:2025半导体行业研究报告:从AI芯片到封测突围的生死局|附40+份报告PDF、数据汇总下载
  • Apifox 7 月更新|通过 AI 命名参数及检测接口规范、在线文档支持自定义 CSS 和 JavaScript、鉴权能力升级
  • 鸿蒙拉起系统定位和app授权定位
  • 光伏热斑误检率↓79%!陌讯多模态融合算法在智慧能源的落地优化
  • 当文档包含图文混排表格时,如何结合大模型(如DeepSeek-VL)和OCR提取数据
  • 一次 web 请求响应中,通常那个部分最耗时?
  • Flutter module 是如何被原生 Android 项目通过 Gradle 引入的
  • Flutter Chen Generator - yaml配置使用
  • 原生安卓与flutter混编的实现
  • 是否需要买一个fpga开发板?
  • 嵌入式硬件学习(十)—— LED驱动+杂项设备驱动
  • 【Unity】实现小地图
  • TDengine 中 TDgp 中添加算法模型(异常检测)
  • 【大模型理论篇】跨语言AdaCOT
  • Flutter 页面跳转及传参总结
  • 8.2-使用字符串存储 UTF-8 编码文本
  • RAG:让AI更聪明的“外接大脑“ | AI小知识
  • ECMAScript2023(ES14)新特性
  • C# 基于halcon的视觉工作流-章27-带色中线
  • HTM 5 的离线储存的使用和原理
  • JavaEE初阶1.0
  • 认知绞肉机:个体实践视域下认知暴力与元认知升维的活体实验研究
  • 今日做题练习
  • 记录自己使用gitee和jenkins
  • PHP 核心特性全解析:从实战技巧到高级应用(2)
  • 按键精灵iOS工具元素命令SetText:自动化输入的终极解决方案
  • .NET Core部署服务器
  • Linux网络-------3.应⽤层协议HTTP