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