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

【Mysql】函数有哪些

mysql函数有哪些?

MySQL 提供了许多内置函数,用于执行各种操作,包括字符串处理、日期时间操作、数学计算、数据转换等。以下是一些常用的 MySQL 函数分类及其示例:

  1. 字符串函数
CONCAT(str1, str2, ...):将多个字符串连接起来。
SUBSTRING(str, start, length):返回从 start 位置开始的子字符串,长度为 length。
LENGTH(str):返回字符串的字节数(长度)。
UPPER(str):将字符串转换为大写。
LOWER(str):将字符串转换为小写。
REPLACE(str, old, new):替换字符串中的某个子串。
TRIM([LEADING | TRAILING | BOTH] str):去除字符串两端的空白字符。
CHAR_LENGTH(str):返回字符串的字符长度(考虑字符集的不同,一个字符可能占多个字节)。
CONCAT_WS(separator, str1, str2, ...):用指定分隔符连接多个字符串。
  1. 日期和时间函数
NOW():返回当前的日期和时间。
CURDATE():返回当前的日期。
CURTIME():返回当前的时间。
DATE_ADD(date, INTERVAL expr unit):向日期添加指定的时间间隔。
DATE_SUB(date, INTERVAL expr unit):从日期中减去指定的时间间隔。
DATEDIFF(date1, date2):返回两个日期之间的天数差。
DATE_FORMAT(date, format):根据指定格式返回日期或时间。
YEAR(date)、MONTH(date)、DAY(date):提取日期中的年、月、日。
HOUR(time)、MINUTE(time)、SECOND(time):提取时间中的小时、分钟、秒。
  1. 数学函数
ABS(x):返回 x 的绝对值。
ROUND(x, d):对数字 x 四舍五入,保留 d 位小数。
CEIL(x) 或 CEILING(x):返回大于等于 x 的最小整数。
FLOOR(x):返回小于等于 x 的最大整数。
POW(x, y) 或 POWER(x, y):返回 x 的 y 次方。
SQRT(x):返回 x 的平方根。
RAND():返回一个0到1之间的随机浮点数。
  1. 聚合函数
COUNT(expression):返回某列的行数。
SUM(expression):返回某列的总和。
AVG(expression):返回某列的平均值。
MIN(expression):返回某列的最小值。
MAX(expression):返回某列的最大值。
  1. 条件和控制流函数
IF(condition, true_value, false_value):如果条件为真,返回 true_value,否则返回 false_value。
IFNULL(expression, alt_value):如果表达式为 NULL,返回 alt_value,否则返回表达式的值。
COALESCE(expr1, expr2, ...):返回第一个非 NULL 的表达式值。
CASE WHEN condition THEN result ELSE result END:根据条件返回不同的值。
  1. 转换函数
CAST(expression AS type):将表达式转换为指定的数据类型。
CONVERT(expression, type):与 CAST 类似,用于数据类型转换。
BIN(N):将数字 N 转换为二进制表示。
HEX(N):将数字 N 转换为十六进制表示。
  1. JSON 函数(MySQL 5.7+)
JSON_OBJECT(key, value, ...):创建一个 JSON 对象。
JSON_ARRAY(value, ...):创建一个 JSON 数组。
JSON_EXTRACT(json_doc, path):提取 JSON 文档中的某个值。
JSON_SET(json_doc, path, value):设置 JSON 文档中的某个值。
JSON_ARRAYAGG(expr):返回包含 JSON 数组的聚合结果。
  1. 加密与哈希函数
MD5(str):返回字符串 str 的 MD5 哈希值。
SHA1(str):返回字符串 str 的 SHA1 哈希值。
AES_ENCRYPT(str, key):使用 AES 算法对字符串加密。
AES_DECRYPT(str, key):使用 AES 算法解密字符串。

这些函数涵盖了 MySQL 的一些常见操作和应用,帮助你在数据库中进行数据处理和查询。不同版本的 MySQL 可能会有不同的函数集,具体使用时可以查阅对应版本的官方文档。

mysql有一个数据表有name, sex, score,查出男女分别最高分?

SELECT sex, MAX(score) AS max_score
FROM your_table_name
GROUP BY sex;

如果你想获取每个性别最高分的具体姓名,可以使用以下查询:

SELECT name, sex, score
FROM your_table_name
WHERE (sex, score) IN (
    SELECT sex, MAX(score)
    FROM your_table_name
    GROUP BY sex
);

http://www.kler.cn/a/446080.html

相关文章:

  • 【人工智能】用Python实现图卷积网络(GCN):从理论到节点分类实战
  • 坑人 C# MySql.Data SDK
  • 使用Python实现量子通信模拟:探索安全通信的未来
  • 计算机工作流程
  • Hexo Next主题集成百度统计
  • (五)FT2232HL高速调试器之--三步实现STM32的VSCODE在线仿真工程搭建
  • 深度学习模型中增加随机性可以通过多种方式实现,以下是一些可以应用到你的 `TCNAttentionLSTM`
  • 【路径规划】原理及实现
  • ESXi安装【真机和虚拟机】(超详细)
  • 重拾设计模式--状态模式
  • 网络安全概论——虚拟专网VPN技术
  • leetcode:2824. 统计和小于目标的下标对数目(python3解法)
  • 【守护进程 】【序列化与反序列化】
  • 吉利前端、AI面试
  • 工业大数据分析算法实战-day11
  • opencv sdk for java中提示无stiching模块接口的问题
  • 鸿蒙Next自定义组件的布局
  • 数据结构顺序表和链表
  • 【21天学习AI底层概念】day8 什么是类意识?
  • Linux 下的 GPT 和 MBR 分区表详解
  • Qt Quick:CheckBox 复选框
  • 无人机+自组网+飞手:低空集群飞行技术详解
  • Angular学习路线图
  • skyler实战渗透笔记—Kioptrix-1
  • 【算法】栈
  • 配置TypeScript:tsconfig.json详解