MySQL
常用函数
1.字符串函数
注:数据表脑补一下,就不贴图了
# 函数篇
# 01 字符串函数
# 001 concat(str1,str2,...)
SELECT CONCAT(id, ":", heroName) AS id_hero FROM hero;
# AS 可省略
SELECT CONCAT(id, ":", heroName) id_hero FROM hero;
# 002 substr(字段, 从哪里开始(默认从1开始),取几个字符)
SELECT SUBSTR(heroName, 1, 1) AS name FROM hero;
# 003 upper和lower
SELECT UPPER(heroEnglishName) FROM hero;
SELECT LOWER(heroEnglishName) FROM hero;
# 004 trim
SELECT TRIM(" AB AB ");
SELECT RTRIM(" AB AB ");
SELECT LTRIM(" AB AB ");
# 005 replace
SELECT REPLACE("QWERTY", "QW","qw");
# 006 lpad 左填充
SELECT LPAD(heroName,5,"#") FROM hero;
# rlpd 右填充
SELECT RPAD(heroName,5,"#") FROM hero;
# 007 instr 返回字符串第一次出现的下标(默认从1开始)
SELECT INSTR("Hello World!", "W");
# length utf-8中1个中文字符占3到4个字节(普通字符都为3个字节)
SELECT id AS ID, heroName AS NAME, length(HeroName) AS LEN FROM hero;
2.数学函数
# 02 数学函数
# 001 四舍五入
SELECT ROUND(1.5);
# 002 随机1个[0, 1)之间的随机数
SELECT RAND();
# 003 向下取整
SELECT FLOOR(2.5); # 2
# 向上取整
SELECT CEIL(2.5); # 3
# 004 mod取余 == %
SELECT MOD(3, 2);
SELECT 3 % 2;
# 005 truncate 截断到第几位
SELECT TRUNCATE(3.1495956464, 2);
# 006 / 不是表示取整
SELECT heroName, heroAge / 2 FROM hero;
SELECT * FROM hero;
3.日期时间函数
# 03 时间函数
# 001 返回系统当前的时间
SELECT NOW(); # 2020-12-24 17:28:48
# 002 把时间格式化输出
SELECT DATE_FORMAT(NOW(), "【%Y--%m--%d %H:%i:%s】");
# 003 把字符串转化为时间格式
# 这里的格式前后要保持一致,不能乱写
SELECT STR_TO_DATE("2020--12--24 18:37:27","%Y--%m--%d")
# SELECT STR_TO_DATE("2020--12--24 18:37:27"," %H:%i:%s")
SELECT STR_TO_DATE("2020--12--24 18:37:27","%Y--%m--%d %H:%i:%s")
日期时间函数参数说明:
now当前系统日期+时间
curdate当前系统日期
curtime当前系统时间
/*
%Y:代表4位的年份
%y:代表2为的年份
%m:代表月, 格式为(01……12)
%c:代表月, 格式为(1……12)
%d:代表月份中的天数,格式为(00……31)
%e:代表月份中的天数, 格式为(0……31)
%H:代表小时,格式为(00……23)
%k:代表 小时,格式为(0……23)
%h: 代表小时,格式为(01……12)
%I: 代表小时,格式为(01……12)
%l :代表小时,格式为(1……12)
%i: 代表分钟, 格式为(00……59) 【只有这一个代表分钟,大写的I 不代表分钟代表小时】
%r:代表 时间,格式为12 小时(hh:mm:ss [AP]M)
%T:代表 时间,格式为24 小时(hh:mm:ss)
%S:代表 秒,格式为(00……59)
%s:代表 秒,格式为(00……59)
*/
str_to_date 将字符转换成日期