MySQL常用的一些简单函数
字符函数
-
length 获取参数字节个数
-
select length(“字符”);
-
字符情况
字符类型 UTF-8 GBK 字母 1 1 汉字 3 2
-
-
concat 拼接字符串
- select concat(第一段,第二段,第三段) from 表名;
-
upper 将字母转换为大写
- select upper(“字符串”);
-
lower 将字母转换为小写
- select lower(“字符串”);
-
substr/substring 截取字符串
- select substr(“字符串”,截取位置); 截取索引后所有字符
- select substr(“字符串”,截取位置,截取位数); 截取索引后指定长度字符
- mysql语言中,索引开始位置是1
-
instr 查找字符索引位置
- select instr(“字符串”,“需要查找的字符”);
- 只返回第一次出现的所需字符串的索引,未找到显示0
-
trim 去除字符串前后字符
-
select trim(“所需去除字符” from 字符串");
-
若所需去除前后空格,可直接select trim(“字符串”);
-
-
lpad 左填充,若不足则去掉后面内容
- select lpad(“字符串”,指定长度,“填充内容”);
-
rpad 右填充,若不足则去掉后面内容
- select rpad(“字符串”,指定长度,“填充内容”);
-
replace 字符的替换
- select replace(“字符串”,“想替换的字符”,“替换字符”);
- 会导致全部替换
数学函数
-
round 四舍五入
-
select round(数字);
-
select round(数字,小数点后保留位数);
-
-
ceil 向上取整
- select ceil(数字);
- 返回>=该参数的最小整数
-
floor 向下取整
-
select floor(数字);
-
返回<=该参数的最小整数
-
-
truncate 截断
- select truncate(数字,小数点后截断位数);
-
mod 取余
- select mod(a,b); <=>select a%b;
- 运算公式:a - a/b * b
日期函数
-
now 返回当前系统日期+时间
- select now();
-
curtate 返回当前系统日期
- select curtate();
-
curtime 返回当前时间
- select curtime();
-
获取指定的部分:年、月、日、时、分、秒
-
select year(时间);
-
select month(时间); 阿拉伯数字
-
select monthname(时间); 英语全称
-
-
str_to_date 将字符通过指定格式转化为日期
- select str_to_date(“2000-03-12”,"%Y-%c-%d");
序号 格式符 功能 1 %Y 四位的年份 2 %y 俩位的年份 3 %m 月份(01,02,03…) 4 %c 月份(1,2,3…) 5 %d 日(01,02,03…) 6 %H 小时(24小时制) 7 %h 小时(12小时制) 8 %i 分钟 9 %s 秒 -
date_format 将日期转化为字符
- select date_format(“2000-9-21”,"%y-%m%d");
-
datediff 返回俩个日期相差的天数
- select datediff(a,b);
其他函数
- select database();
- select user();
- select version();
分组函数
- max 最大值
- min 最小值
- avg 平均值
- sum 和
- count 计算个数
-
select count(字段); 统计该字段非空个数
-
select count(*); 统计结果集的行数
语法:
select 函数(字段) from 表名;
PS:
max、min、count 处理任何数据类型
avg、sum 仅能处理数值型分组函数忽略NULL值 都可以搭配distinct(去重)使用 语法: select 函数(distinct 字段) from 表名;
-
流程控制函数
-
if 函数
-
select if(a, b, c);
-
a代表判断要求
-
b代表一种可能
-
c代表另一种可能
-
-
case 函数
-
类似于 switch···case···
case 要判断的字段或表达式 when 常量1 then 要显示的值1或语句1 when 常量2 then 要显示的值1或语句2 ...... else 要显示的值n或语句n end;
-
类似于多重if
case when 条件1 then 要显示的值1 (语句1;) when 条件2 then 要显示的值2 (语句2;) ...... else 要显示的值n或语句n end;
-
PS:函数直接可以嵌套使用