5、instr 返回子串第一次出现的索引,若找不到则返回0
例子:select instr('杨不悔爱上了殷六侠','殷六侠');
【输出结果为7】
注:###5待定,正确与否未知(后期将会完善)
6、trim 去除字段前后的特定字符【若未指定则去除的是空格】
例: select trim(' zhangCui Shan ');
去除’ zhangCui Shan ‘前后的空格;
例:select trim('a' from 'aaaaaaaazhangCuiShanaaaaaaaa') as output;
去除’aaaaaaaazhangCuiShanaaaaaaaa’前后的字符’a’;
7、lpad;用指定的字符实现左填充指定长度,如果原字符长度已超过指定长度,则返回值为原字符从左向右数够指定字符长度的字符串
例: select lpad('lijiarong',36,'shimengyao') as input;
用’shimengyao’左填充’lijiarong’是最终结果长度达到36
【rpad为相对应的右填充】
8、replace 替换
例;select replace('张无忌爱上了周芷若','张无忌','赵敏');
输出结果为’赵敏爱上了周芷若’;
例:select replace('张无忌爱张无忌上了周芷若张无忌','张无忌','赵敏');
输出结果为’赵敏爱赵敏上了周芷若赵敏’;
C数学函数:
1、round 四舍五入
select round(1.65);
【输出为2】; select round(1.45);
【输出为1】
select round(1.652,2);
【输出为1.65,表示1.652小数点后保留两位】
2、ceil 向上取整【返回>=该参数的最小整数】
3、floor 向下取整【返回<=该参数的最小整数】
4、truncate 截断
select truncate(1.69999,1);
【输出为1.6,小数点后保留1位】
5、mod 取余 mod(a,b)==a-a/b*b;
C日期函数:
1、now 返回当前系统日期+时间
2、curdate 返回当前日期 ,不包含日期
3、可以获取指定的部分,年、月、日、小时、分钟、秒;
4、str_to_date:将日期格式的字符转换为指定格式的日期
例子:str_to_date('9-13-1999','%m-%d-%Y')
输出为1999-09-13
date_format:将日期转换成字符
例子:date_format('2018/6/6','%Y年%m月%d日');
输出为2018年06月06日
格式符 功能
%Y 四位的年份
%y 2位的年份
%m||%c 月份(01,02,03,04…12)||(1,2,3,4…12)
%d 日(01,02…)
%H||%h 小时(24小时制)||(12小时制)
%i||%s 分钟||秒(00,01,02…59)
C其他函数:
1、select version();
【查看当前版本】
2、select database();
【查看当前数据库】
3、select user();
【查看当前用户】
…
C流程控制函数:
1、if函数 【if else 的效果】
例:select if(10>5,'大','小') as result;
【10大于5吗?大的话输出1大,否则输出小】
2、case函数 使用一: switch case的效果
mysql中
case 要判断的字段或者表达式
when 常量1 then 要显示的值1或语句1;
when 常量2 then 要显示的值2或语句2;
...
else 要显示的值n或语句n;
end
使用二:if (){} else{}的效果
case
when 常量1 then 要显示的值1或语句1;
when 常量2 then 要显示的值2或语句2;
...
else 要显示的值n或语句n;
end
{回
顾}常见函数:字符函数(length,concat,substr,instr,trim,upper,lower,lpad,rpad,replace)
数学函数(round,ceil,floor,truncate,mod)
日期函数(now,curdate,curtime,year,month,monthname,day,hour,minute,second,str_to_date,date_format)
其他(version,database,user)
控制函数(if,case)
C分组函数:【功能:用作统计使用,又称为聚合函数或统计函数或组函数】
分类:sum 求和、avg 平均值、max 最大值、min 最小值、count 计算个数
【特殊:min,max可用于字符类型,日期类型的比较;count任何类型都支持】
【sum,avg,max,min,count都忽略null值】
MYISAM存储引擎下,count()的效率高;
INNODB存储引擎下,count()与count(1)的效率差不多,比count(字段)要高一点;