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

mysql中提供的函数

文章目录

    • 1.聚合函数
    • 2.字符串函数
    • 3.数值函数
    • 4.日期函数
    • 5.流程函数

MySQL 是一个功能强大的关系型数据库管理系统,其中包含了丰富的内置函数,用于处理各种数据操作和查询。这些函数可以分为多种类型,包括字符串函数、数值函数、日期和时间函数、聚合函数以及控制流函数。本文将介绍这些常用的 MySQL 函数,帮助您更好地利用 MySQL 进行数据操作和分析。

1.聚合函数

介绍:将一列数据作为一个整体,进行纵向计算 。通常与GROUP BY一起使用。

函数功能
count统计数量
max最大值
min最小值
avg平均值
sum求和

语法(不能用在where后):

SELECT 聚合函数(字段列表) FROM 表名 ;

注意 : NULL值是不参与所有聚合函数运算的。

2.字符串函数

MySQL中内置了很多字符串函数,常用的几个如下:

函数功能
CONCAT (S1,S2,…Sn)字符串拼接,将S1, S2, …, Sn拼接成一个字符串
LOWER (str)将字符串str全部转为小写
UPPER (str)将字符串str全部转为大写
LPAD (str,n,pad)左填充,用字符串pad对str的左边进行填充,达到n个字符长度
RPAD (str,n,pad)右填充,用字符串pad对str的右边进行填充,达到n个字符长度
TRIM(str)去掉字符串头部和尾部的空格
SUBSTRING (str, start, len)返回从字符串str从start位置起的len个长度的字符串

3.数值函数

常见的数值函数如下:

函数功能
CELL(x)向上取整,用于将浮点数x向上取整到最接近的整数
FLOOR(x)向下取整,用于将浮点数x向下取整到最接近的整数
MOD(x, y)返回除法余数,即x除以y的余数
RAND()返回一个在0到1之间的随机浮点数
ROUND(x, y)返回四舍五入后的浮点数,保留y位小数

4.日期函数

常见的日期函数如下:

函数功能
CURDATE()返回当前日期
CURTIME()返回当前时间
NOW()返回当前日期和时间
YEAR(date)获取指定date的年份
MONTH(date)获取指定date的月份
DAY(date)获取指定date的日期
DATE_ADD(date, INTERVAL expr type)返回一个日期/时间值加上一个时间间隔expr后的时间值
DATEDIFF(date1, date2)返回起始时间date1和结束时间date2之间的天数

5.流程函数

流程函数也是很常用的一类函数,可以在SQL语句中实现条件筛选,从而提高语句的效率。

函数功能描述示例
IF(condition, true_value, false_value)如果条件condition为真,则返回true_value;否则返回false_valueIF(value, t, f)
IFNULL(expression1, expression2)如果expression1不为空,则返回expression1;否则返回expression2IFNULL(value1, value2)
CASE WHEN [condition] THEN [result] … ELSE [default] END根据一系列条件进行判断,如果条件为真,则返回对应的结果;如果所有条件都不为真,则返回默认值CASE WHEN [val1] THEN [res1] … ELSE [default] END
CASE [expr] WHEN [val1] THEN [res1] … ELSE [default] END如果expr的值等于val1,则返回res1;否则返回default默认值CASE [expr] WHEN [val1] THEN [res1] … ELSE [default] END

注意下面这两个sql是相等的:

CASE WHEN a = 1 THEN [result]ELSE [default] END;
CASE a WHEN 1 THEN [res1]ELSE [default] END

并且 WHEN THEN 可以有多个:

CASE `subject` WHEN '数学'  THEN score1 WHEN '第二个When' THEN score2 ELSE 0 END

在标准SQL中,使用=来进行相等比较,而不是==。MySQL遵循这一标准,因此推荐使用=来保持与其他数据库系统的一致性。

由于流程语句中经常出现条件判断,所以提供如下附录(SQL 中的比较运算符和逻辑运算符)。

比较运算符及其功能

运算符功能
>大于
>=大于或等于
<小于
<=小于或等于
=等于
<>!=不等于
BETWEEN ... AND ...检查值是否在指定范围内(包含边界值)
IN (...)检查值是否在指定的列表中(多选一)
LIKE 占位符使用占位符进行模糊匹配。_ 匹配单个字符,% 匹配任意个字符
IS NULL检查值是否为 NULL
REGEXPRLIKE正则表达式匹配

逻辑运算符及其功能:

运算符功能
AND&&并且 (多个条件同时成立) ,与(逻辑与)
OR||或者 (多个条件任意一个成立) ,或(逻辑或)
NOT!非 (条件不成立) ,非(逻辑非)
XOR异或(逻辑异或)

在 MySQL 中,XOR 运算符可以用来连接两个布尔条件,只有当这两个条件中有且仅有一个为 TRUE 时,结果才为 TRUE。如果两个条件都是 TRUE 或都是 FALSE,结果为 FALSE。在进行其他判断时,除了针对 10 之间返回 1,其他都会返回 0。

在其他编程语言中,异或运算符的符号通常是 ^,但在 SQL 中(特别是 MySQL),你需要使用 XOR 关键字。因为 ^|&一样在 MySQL 中是按位运算。

http://www.lryc.cn/news/407401.html

相关文章:

  • 加速下载,揭秘Internet Download Manager2024下载器的威力!
  • oracle 宽表设计
  • winrar安装好后,鼠标右键没有弹出解压的选项
  • 数字图像处理笔记(一)---- 图像数字化与显示
  • Unity UGUI 之 事件接口
  • Hadoop、HDFS、MapReduce 大数据解决方案
  • Dubbo SPI 之负载均衡
  • 规范:前后端接口规范
  • Python --NumPy库基础方法(2)
  • 音视频入门基础:H.264专题(15)——FFmpeg源码中通过SPS属性获取视频帧率的实现
  • 【C++高阶】哈希之美:探索位图与布隆过滤器的应用之旅
  • 文件包涵条件竞争(ctfshow82)
  • 通信原理-思科实验三:无线局域网实验
  • *算法训练(leetcode)第三十一天 | 1049. 最后一块石头的重量 II、494. 目标和、474. 一和零
  • mac中如何使用obs推流以及使用vlc播放
  • shopee虾皮 java后端 一面面经 整体感觉不难
  • HydraRPC: RPC in the CXL Era——论文阅读
  • pve笔记
  • typecho仿某度响应式主题Xaink
  • springcloud RocketMQ 客户端是怎么走到消费业务逻辑的 - debug step by step
  • GPT-4o mini小型模型具备卓越的文本智能和多模态推理能力
  • Milvus 向量数据库进阶系列丨部署形态选型
  • 【React】详解受控表单绑定
  • 使用puma部署ruby on rails的记录
  • 如何在Linux上使用Ansible自动化部署
  • scrapy爬取城市天气数据
  • 一天搞定React(5)——ReactRouter(下)【已完结】
  • 微信小程序之计算器
  • 【logstash】logstash使用多个子配置文件
  • 暴风骑士S9电摩上市,定义青少年骑行安全新标准