MySql常用函数汇总

这篇博客详细汇总了MySQL中的常用函数,包括字符串处理(CONCAT, LEFT, RIGHT等)、统计计算(AVG, COUNT, SUM等)、日期时间操作(AddDate, CurDate等)以及各种数值和文本函数。通过实例演示了每个函数的用法,是学习和查阅MySQL函数的好资料。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

MYSQL常用函数汇总

授人以渔1
授人以渔2

1、CONCAT()
SELECT CONCAT(A,B) FROM TABLE 用于合并两个字段

在这里插入图片描述

在这里插入图片描述

2、AVG()
SELECT AVG(A) FROM TABLE  用于求字段的平均值,会忽略null行
3、COUNT()
SELECT COUNT(1) FROM TABLE  用于返回某列的行数,1和*的时候返回全表行数
4、MAX()
SELECT MAX() FROM TABLE  用于返回某列中最大的值
5、MIN()
SELECT MIN() FROM TABLE  用于返回某列中最小的值
6、SUM()
SELECT SUM() FROM TABLE  用于返回某列之和
7、LEFT()
LEFT(STR,LENGTH)  用于处理文本,截取STR左边长度为LENGTH的字符串
8、RIGHT()
RIGHT(STR,LENGTH)  用于处理文本,截取STR右边长度为LENGTH的字符串
9、LOWER()
LOWER(STR)  用于处理文本,将STR转换成小写字符
10、UPPER()
UPPER(STR)  用于处理文本,将STR转换成大写字符
11、LTRIM()
LTRIM(STR)  用于处理文本,去除STR第一个字符左边的所有空格
12、RIRIM()
RIRIM(STR)  用于处理文本,去除STR右边所有空格,即最后一个字符后的所有空格
13、LENGTH()
LENGTH(STR)  用于获取STR的长度
14、SOUNDEX()
SOUNDEX(STR)  用于处理文本,将字符串STR转换为描述其语音表示的字母数字模式
15、AddDate()
AddDate('2022-04-28',10)  用于处理日期,示例将得到2022-05-08
16、AddTime()
AddTime('2022-04-28 00:00:00',30)  用于处理时间,示例将得到2022-04-28 00:00:30
添加的时间也可以用具体时间
AddTime('2022-04-28 00:00:00','10:00:00') 将得到2022-04-28 10:00:00
17、CurDate()
CurDate() 用于返回当前日期,不包含时分秒
18、CurTime()
CurTime()  用于返回当前时间,只包含时分秒
19、Date()
Date('2022-04-28 10:10:10')  返回表达式中的日期,示例将得到2022-04-28
20、DateDiff()
DateDiff('2022-04-28','2022-05-28')  用于计算两个日期间隔多少天,示例将返回 -30
21、Date_Add()
语法格式:DATE_ADD(date,INTERVAL expr type);
data为合法的日期表达式
INTERVAL固定关键字
expr表示数值
type表示单位
Date_Add('2022-04-28',INTERVAL 2 DAY)  高度灵活的日期计算函数,示例将得到2022-04-30

其中type可以为以下类型

TYPE含义
MICROSECOND微秒
SECOND
MINUTE
HOUR
DAY
WEEK
MONTH
QUARTER半年
YEAR
SECOND_MICROSECOND毫妙
MINUTE_MICROSECOND
MINUTE_SECOND
HOUR_MICROSECOND
HOUR_SECOND
HOUR_MINUTE
DAY_MICROSECOND
DAY_SECOND
DAY_MINUTE
DAY_HOUR
YEAR_MONTH
22、Date_Format()
语法格式:DATE_FORMAT(date,format)
用于返回一个格式化的日期或时间串
date为合法的日期时间字符串
format为转化表达式
DATE_FORMAT('2022-04-28','%D') 将返回 28th

其中format可以为以下格式

format含义
%a缩写星期名
%b缩写月名
%c月,数值
%D带有英文前缀的月中的天
%d月的天,数值(00-31)
%e月的天,数值(0-31)
%f微秒
%H小时 (00-23)
%h小时 (01-12)
%I小时 (01-12)
%i分钟,数值(00-59)
%j年的天 (001-366)
%k小时 (0-23)
%l小时 (1-12)
%M月名
%m月,数值(00-12)
%pAM 或 PM
%r时间,12-小时(hh:mm:ss AM 或 PM)
%S秒(00-59)
%s秒(00-59)
%T时间, 24-小时 (hh:mm:ss)
%U周 (00-53) 星期日是一周的第一天
%u周 (00-53) 星期一是一周的第一天
%V周 (01-53) 星期日是一周的第一天,与 %X 使用
%v周 (01-53) 星期一是一周的第一天,与 %x 使用
%W星期名
%w周的天 (0=星期日, 6=星期六)
%X年,其中的星期日是周的第一天,4 位,与 %V 使用
%x年,其中的星期一是周的第一天,4 位,与 %v 使用
%Y年,4 位
%y年,2 位
22、Day()
Day('2022-04-28')  用于返回一个日期的天数,示例将返回28
23、DayOfWeek()
DayOfWeek('2022-04-28')  返回一个日期对应的星期几,周天为1,示例04-28为星期四,返回5
24、Hour()
Hour('10:11:12')  用于返回时间的小时部分,示例将返回10
25、Minute()
Minute('10:11:12')  用于返回时间的分钟部分,示例将返回11
26、Second()
Second('10:11:12')  用于返回时间的秒部分,示例将返回12
27、Year()
Year('2022-04-28')  用于返回日期的年部分,示例将返回2022
28、Month()
Month('2022-04-28')  用于返回日期的月部分,示例将返回4
29、Now()
Now()  用于返回当前日期时间,格式为yyyy-MM-dd HH:mm:ss
30、Time()
Time('2022-04-28 10:11:12')  用于返回日期的时间部分,示例将返回10:11:12
31、数值处理
函数说明
SIN()正弦
COS()余弦
TAN()正切
ABS()绝对值
SQRT()平方根
MOD()余数
EXP()指数
PI()圆周率
RAND()随机数
### MySQL 常用内置函数汇总 #### 数学运算函数 MySQL 提供了一系列用于数学运算的函数,例如 `ABS()`、`CEIL()` 和 `FLOOR()` 等。这些函数可以帮助开发者轻松完成各种数值计算任务[^1]。 - **ABS(x)**:返回参数 x 的绝对值。 - **CEIL(x)** 或者 **CEILING(x)**:返回大于等于 x 的最小整数。 - **FLOOR(x)**:返回小于等于 x 的最大整数。 ```sql SELECT ABS(-5); -- 输出 5 SELECT CEIL(3.14); -- 输出 4 SELECT FLOOR(3.98); -- 输出 3 ``` #### 字符串处理函数 字符串处理是数据库操作中的重要部分,MySQL 支持多种字符串函数以便于数据管理和分析。 - **CONCAT(str1, str2,...)**:连接多个字符串并返回结果。 - **LOWER(str)** / **LCASE(str)**:将字符串转换成小写形式。 - **UPPER(str)** / **UCASE(str)**:将字符串转换成大写形式。 ```sql SELECT CONCAT('Hello', ' ', 'World'); -- 输出 Hello World SELECT LOWER('HELLO WORLD'); -- 输出 hello world SELECT UPPER('hello world'); -- 输出 HELLO WORLD ``` #### 时间和日期函数 时间和日期的操作在实际应用中非常频繁,因此 MySQL 设计了许多专门针对时间戳管理的功能性函数[^4]。 - **NOW()**:获取当前系统日期和时间。 - **CURDATE()**:仅返回今天的日期部分。 - **CURTIME()**:只显示现在的时间部分。 - **DATE_SUB(date, INTERVAL expr unit)**:从指定日期减去一定时间段后的结果。 ```sql SELECT NOW(); -- 当前时刻 SELECT CURDATE(); -- 只有日期 SELECT DATE_SUB(CURDATE(), INTERVAL 7 DAY); -- 计算一周之前的日期 ``` #### 杂项功能函数 除了上述类别外还有一些其他用途广泛的工具型方法值得了解: - **PASSWORD(str)**:生成哈希值以保护敏感字段比如密码存储安全[^2]。 - **BENCHMARK(count,expr)**:测试表达式性能评估其运行效率[^3]。 ```sql -- 创建加密版本的输入字符串 SELECT PASSWORD('test'); -- 测量某个简单查询耗时情况 SELECT BENCHMARK(1000000, MD5(RAND())); ```
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值