MySQL基本函数

发布于:2025-03-28 ⋅ 阅读:(20) ⋅ 点赞:(0)

基本函数: 

函数类别

函数名称

功能描述

示例及结果

数值函数 - 算术函数

ABS(x)

返回 x 的绝对值

SELECT ABS(-5);返回5

数值函数 - 算术函数

CEIL(x)

返回大于或等于 x 的最小整数

SELECT CEIL(3.14);返回4

数值函数 - 算术函数

FLOOR(x)

返回小于或等于 x 的最大整数

SELECT FLOOR(3.14);返回3

数值函数 - 算术函数

ROUND(x, d)

将 x 四舍五入到 d 位小数,省略 d 则默认四舍五入到整数

SELECT ROUND(3.14159, 2);返回3.14

数值函数 - 三角函数

SIN(x)

接受弧度值 x,返回正弦值

SELECT SIN(RADIANS(30));返回约0.5(因需先将角度转弧度)

数值函数 - 三角函数

COS(x)

接受弧度值 x,返回余弦值

SELECT COS(RADIANS(60));返回约0.5

数值函数 - 三角函数

TAN(x)

接受弧度值 x,返回正切值

SELECT TAN(RADIANS(45));返回1

字符串函数 - 长度与拼接

LENGTH(str)

返回字符串 str 的长度(以字节为单位)

SELECT LENGTH('Hello');返回5

字符串函数 - 长度与拼接

CONCAT(str1, str2, ...)

将多个字符串连接成一个字符串

SELECT CONCAT('Hello', ', ', 'World');返回Hello, World

字符串函数 - 查找与替换

SUBSTRING(str, pos, len)

从字符串 str 的位置 pos 开始,提取长度为 len 的子字符串

SELECT SUBSTRING('Hello World', 7, 5);返回World

字符串函数 - 查找与替换

REPLACE(str, from_str, to_str)

将字符串 str 中的所有 from_str 替换为 to_str

SELECT REPLACE('Hello World', 'World', 'MySQL');返回Hello MySQL

日期和时间函数 - 获取当前

NOW()

返回当前的日期和时间,格式为 YYYY - MM - DD HH:MM:SS

执行SELECT NOW();可能返回类似2023 - 10 - 05 14:30:00的结果

日期和时间函数 - 获取当前

CURDATE()

只返回当前的日期,格式为 YYYY - MM - DD

SELECT CURDATE();可能返回2023 - 10 - 05

日期和时间函数 - 获取当前

CURTIME()

只返回当前的时间,格式为 HH:MM:SS

SELECT CURTIME();可能返回14:30:00

日期和时间函数 - 计算

DATE_ADD(date, INTERVAL expr unit)

在日期 date 上加上一个时间间隔 expr,unit 表示时间间隔单位

SELECT DATE_ADD('2023 - 10 - 05', INTERVAL 1 MONTH);返回2023 - 11 - 05

日期和时间函数 - 计算

DATEDIFF(date1, date2)

计算两个日期 date1 和 date2 之间的天数差

SELECT DATEDIFF('2023 - 10 - 10', '2023 - 10 - 05');返回5

聚合函数

COUNT(expr)

返回满足条件的记录数,expr 为*时返回表中的所有记录数

SELECT COUNT(*) FROM users;返回users表中的记录总数

聚合函数

SUM(expr)

返回数值列 expr 的总和

SELECT SUM(price) FROM products;返回products表中price列的总和

聚合函数

AVG(expr)

返回数值列 expr 的平均值

SELECT AVG(age) FROM students;返回students表中age列的平均值

聚合函数

MAX(expr)

返回列 expr 中的最大值

SELECT MAX(score) FROM exams;返回exams表中score列的最大值

聚合函数

MIN(expr)

返回列 expr 中的最小值

SELECT MIN(score) FROM exams;返回exams表中score列的最小值

 字符串函数:

函数名称

功能描述

示例及结果

LENGTH(str)

返回字符串 str 的长度(以字节为单位)

SELECT LENGTH('Hello');返回5

CONCAT(str1, str2, ...)

将多个字符串连接成一个字符串

SELECT CONCAT('Hello', ', ', 'World');返回Hello, World

SUBSTRING(str, pos, len)

从字符串 str 的位置 pos 开始,提取长度为 len 的子字符串

SELECT SUBSTRING('Hello World', 7, 5);返回World

REPLACE(str, from_str, to_str)

将字符串 str 中的所有 from_str 替换为 to_str

SELECT REPLACE('Hello World', 'World', 'MySQL');返回Hello MySQL

UPPER(str)

将字符串 str 中的所有字符转换为大写

SELECT UPPER('hello');返回HELLO

LOWER(str)

将字符串 str 中的所有字符转换为小写

SELECT LOWER('HELLO');返回hello

TRIM([[BOTH

LEADING

TRAILING] [remstr] FROM] str)

LEFT(str, len)

从字符串 str 的左侧开始,提取长度为 len 的子字符串

SELECT LEFT('Hello World', 5);返回Hello

RIGHT(str, len)

从字符串 str 的右侧开始,提取长度为 len 的子字符串

SELECT RIGHT('Hello World', 5);返回World

FIND_IN_SET(str1, str2)

在以逗号分隔的字符串 str2 中查找字符串 str1 的位置(从 1 开始计数),若未找到返回 0

SELECT FIND_IN_SET('apple', 'banana,apple,orange');返回2

INSERT(str, pos, len, newstr)

在字符串 str 的位置 pos 开始,删除长度为 len 的子字符串,并插入 newstr

SELECT INSERT('Hello World', 7, 5, 'MySQL');返回Hello MySQL