MySQL数据库函数

序号类型地址
1MySQLMySQL操作之概念、SQL约束(一)
2MySQLMySQL操作之数据定义语言(DDL)(二)
3MySQLMySQL操作之数据操作语言(DML)(三)
4MySQLMySQL操作之数据查询语言:(DQL)(四-1)(单表操作)
5MySQLMySQL操作之数据查询语言:(DQL)(四-2)(多表查询)
6MySQLMySQL操作之数据控制语言:(DC)(五)
7MySQLMySQL操作之数据库函数
8MySQLMySQL管理之数据类型
9MySQLMySQL管理之索引
10MySQLMySQL管理之事务管理
11MySQLMySQL管理之存储过程
12MySQLMySQL管理之视图
13MySQLMySQL管理之数据备份与还原
14MySQLLinux(centos 7.5)服务器安装MySQL
15MyBatisMyBatis从入门到多表关联
16MyBatisMyBatis常用方法
17MyBatisMybatis逆向工程的使用(附文件地址)
18MyBatisspring boot连接Mybatis数据库的配置文件(MySql、SQLserver、Oracle)
19MyBatis-PlusMybatis-Plus使用案例(包括初始化以及常用插件)
20MyBatis-Plusmybatis-plus代码生成器
21MyBatis-Plus自定义SQL
22MyBatis-PlusMybatis-Plus(连接Hive)
23MyBatis-PlusMyBatis-plus配置自定义SQL(执行用户传入SQL)
24MyBatis-PlusMybatis-Plus(Service CRUD 接口)


  • 提供的函数包括:数学函数、字符串函数、日期和时间函数、条件判断函数、加密函数等。
  • CONCAT(str1,str2,…):如果任何一个参数为NULL,则返回值为NULL 。

一、数学函数

函数名称描述实例
ABS(x)返回 x 的绝对值SELECT ABS(-1) – 返回1
SQRT(x)返回x的平方根SELECT SQRT(25) – 5
SIGN(x)返回 x 的符号,x 是负数、0、正数分别返回 -1、0 和 1SELECT SIGN(-10) – (-1)
ROUND(x)返回离 x 最近的整数SELECT ROUND(1.23456) --1
RAND()返回 0 到 1 的随机数SELECT RAND() --0.93099315644334
TRUNCATE(x,y)返回数值 x 保留到小数点后 y 位的值(与 ROUND 最大的区别是不会进行四舍五入)SELECT TRUNCATE(1.23456,3) – 1.234

二、字符串函数

函数名称描述实例
CONCAT(s1,s2…sn)字符串 s1,s2 等多个字符串合并为一个字符串SELECT CONCAT("SQL ", "Runoob ", "Gooogle ", “Facebook”) AS ConcatenatedString;
CHAR_LENGTH(s)返回字符串 s 的字符数SELECT CHAR_LENGTH(“RUNOOB”) AS LengthOfString;
TRIM(s)去掉字符串 s 开始和结尾处的空格SELECT TRIM(’ RUNOOB ') AS TrimmedString;
RTRIM(s)去掉字符串 s 结尾处的空格SELECT RTRIM("RUNOOB ") AS RightTrimmedString; – RUNOOB
SUBSTRING(s, start, length)从字符串 s 的 start 位置截取长度为 length 的子字符串SELECT SUBSTRING(“RUNOOB”, 2, 3) AS ExtractString; – UNO
LOCATE(s1,s)从字符串 s 中获取 s1 的开始位置获取 b 在字符串 abc 中的位置:
SELECT LOCATE(‘st’,‘myteststring’); – 5
返回字符串 abc 中 b 的位置:
SELECT LOCATE(‘b’, ‘abc’) – 2

三、日期和时间函数

3.1 概念

函数名称描述实例
CURDATE()返回当前日期SELECT CURDATE();
-> 2018-09-19
CURTIME()返回当前时间SELECT CURTIME();
-> 19:59:02
SYSDATE()返回当前日期和时间SELECT SYSDATE()
-> 2018-09-19 20:57:43
TIME_TO_SEC(t)将时间 t 转换为秒SELECT TIME_TO_SEC(‘1:12:00’)
-> 4320
TIME_TO_SEC(t)将时间 t 转换为秒SELECT TIME_TO_SEC(‘1:12:00’)
-> 4320
ADDDATE( )指定日期的加运算SELECT ADDDATE(CURRENT_DATE,10);
-> 2022-01-23(当前日期+3天)
SBUDATE( )指定日期的减运算SELECT SUBDATE(CURRENT_DATE,10);
-> 2022-01-17 (当前日期-3天)
DATE_FORMAT( )格式化输出日期和时间值SELECT DATE_FORMAT(create_time,“%Y-%m-%d”) FROM student
-> 2022-01-17

3.2 函数使用:

3.2.1 时间格式转换

将create_time中时间(yyyy-MM-dd HH-mm-ss)格式化为只有时间的(yyyy-MM-dd)
使用DATE_FORMAT( )函数

UPDATE student 
SET create_date=DATE_FORMAT(create_time,"%Y-%m-%d");

使用FROM_UNIXTIME( )函数

timestamp格式化为指定格式时间。

FROM_UNIXTIME(timestamp, “%Y-%m-%d”)

时间格式化为timestamp

UNIX_TIMESTAMP( )

UPDATE student
SET create_date = FROM_UNIXTIME( UNIX_TIMESTAMP( create_time ), "%Y-%m-%d" );

四、条件判断函数

函数名称描述实例
IF(expr,v1,v2)如果表达式 expr 成立,返回结果 v1;否则,返回结果 v2。SELECT IF(1 > 0,‘正确’,‘错误’)
->正确
IFNULL(v1,v2)如果 v1 的值不为 NULL,则返回 v1,否则返回 v2。SELECT IFNULL(null,‘Hello Word’)
->Hello Word

五、加密函数

函数名称描述
MD5(str)对字符串str进行MD5加密
ENCODE(str,pwd_str)使用pwd作为密码加密字符串str
DECODE(str,pwd_str)使用pwd作为密码解密字符串str

六、参考位置(菜鸟教程)

聚合函数

https://www.runoob.com/mysql/mysql-functions.html
posted @ 2022-08-03 23:55  ah_lydms  阅读(39)  评论(0编辑  收藏  举报