MySQL数据库部分常见函数---单行函数

常见函数:
概念:相似于Java的方法,将一组逻辑语句封装在方法体中,对外暴露方法名。包括单行函数和分组函数。
好处:隐藏了实现细节,提升代码的重用性。
调用:select 函数名(实参列表) from 表;web

单行函数:
字符函数:
1.1 获取字符串字节长度
length():返回的是字节数,一个字母占1字节,一个汉字占3字节
select length(‘某字段’);
能够经过 show vartables like ‘%char%’ 来查询字符集
1.2 拼接字符串:
concat():将字符串之间进行拼接
select concat(“字段1”,“字段2”,“字段3”) as 别名 from 表名;
1.3 大小写转换
upper()、lower():将某个字段所有大写或者小写
select upper(字段1),lower(字段2) from 表名;
1.4 截取字符串
substr()、substring():对字符串进行截取
第一个参数是想要进行截取的字符串,第二个参数为开始截取的索引,从索引处到后面全部字符。(索引从1开始计算)
select substr(‘字符串’,7);
若是是三个参数,则第三个参数为指定的字符长度
select substr(‘字符串’,2,3);
1.5 获取起始索引
instr():获取子串在字符串中的起始索引,若是找不到则返回0
select instr(‘字符串’,‘子串’);
1.6 除去先后空格
trim():去除掉先后的空格
示例:
select length(trim(’ 字符串 ')) ;
获取到的字节长度则是去除掉空格后的字符串的字节长度
能够指定去除掉的字符:将字符串中先后的某字符进行去除
select trim(‘某字符’ from ‘字符串’);
1.7 左填充
lpad():用指定的字符将字符串填充到指定长度,若是字符串已经超过指定长度,则进行截断(右截断)
select lpad(‘字符串’,指定长度,‘指定字符’);
1.8 右填充
rpad();操做与左填充相同。
1.9 替换
replace():将一个字符串中的某个子字符串用新字符串进行替换
select(‘字符串’,‘要替换的子字符串’,‘新的字符串’);
数学函数
1.1 四舍五入
round():对指定的数值进行四舍五入运算
select round(数值);
1.2 向上取整:
ceil():对指定的数值进行向上取整(返回大于等于该参数的最小整数)
select ceil(数值);
1.3 向下取整:
floor():对指定的数值进行向下取整(返回小于等于该参数的最大整数)
select floor(数值);
1.4 截断
truncate():对指定的数值小数点后保留几位
select truncate(数值);
1.5 取余
mod():对指定的被除数与除数进行取余运算
select mod(被除数,除数);
日期函数
1.1 返回当前日期
now():返回当前系统的日期+时间
select new();
1.2 返回当前系统日期
curdate():返回当前系统日期,不包含时间
select curdate();
1.3 返回当前时间
curtime():返回当前时间,不包含日期
select curtime();
1.4 获取日期指定部分
year()、month()、day()、hour()、minute()、second()等
1.5 转换日期
str_to_date():将字符串经过指定的格式转换成日期
select str_to_date(‘字符串’,‘指定格式’);
1.6 日期转换
date_format():将日期转换成字符串
select date_format(‘日期’,‘字符串格式’);
其余函数
select version():查看版本号函数
select database():查看当前数据库
select user():查看用户函数
流程控制函数
1.1 if函数
if():if else 的效果
select if(条件,‘结果1’,‘结果2’);
若是条件成立,则返回结果1,不然返回结果2
1.2 case函数
case():第一种方式:switch case 的效果数据库

Java中:
	switch(变量或表达式){
		case:常量1:语句1;break;
		......
		default:语句n;break;
}

MySQL中:
case 要判断的字段或表达式
when 常量1 then 要显示的值1或者语句1
when 常量2 then 要显示的值2或者语句2

else 要显示的值n或者语句n
endsvg

示例:
select 字段1,字段2 ,
case 字段2
when 值1 then 要显示的值1
when 值2 then 要显示的值2

else 要显示的值n
end
from 表名;函数

1.2case函数
case():第二种方式:相似于 多重ifcode

Java中:
if(条件1){
	语句1;
}else if(条件2){
	语句2;
}
......
else{
	语句n;
}

MySQL中:
case
when 条件1 then 要显示的值1或者语句1
when 条件2 then 要显示的值2或者语句2

else 要显示的值n或者语句n
endorm

示例:
select 字段1 ,
case
when 条件1 then 要显示的值1
when 条件2 then 要显示的值2

else 要显示的值n
end
from 表名;xml