函数的功能:提升重用性和隐藏实现细节web
函数的调用:select 函数名(实参列表);sql
常见函数分类:单行函数,流程控制函数,分组函数数据库
注:通常SQL关键字大写数组
1.length() #获取参数值的字节个数 eg.获取 oPlusman 的字节个数 select length("oPlusman"); #返回字节个数8 2.concat 拼接字符串 eg.拼接emps表姓与名,中间用‘_’分开 select concat(last_name,'_',first_name) 姓名 from emps; 3.upper、lower#字母大写,小写 eg.将姓变大写,名变小写,而后拼接 select concat(upper(last_name),lower(first_name)) 姓名 from emps; 4.substr截取指定字符 substr('字符串','开始截取索引',’、['截取长度']); #注意:索引从1开始,与数组索引不一样 eg.截取从指定索引处后面全部字符 select substr('老鼠爱大米',4); #返回‘大米’ eg.截取从指定索引处指定字符长度的字符 select substr('老鼠爱大米,大米不爱老鼠',3,4); #爱大米, 5.instr 返回子串第一次出现的索引,若是找不到返回0 #注意:索引从1开始,与数组索引不一样 eg. select instr('老鼠爱大米','大米');#返回 4 6.trim 默认去左右空格,也能够指定 eg.去除字符串左右空格 select trim(' 小米 '); eg.去除指定左右相同字符 select trim('aa' from 'aaaaaaaaaaa大米aaaa大米aaaa'); #返回a大米aaaa大米 由于是从左右去除 ‘aa’ 左右a的个数为单数 7.lpad 【左】 rpad 【右】 用指定的字符实现左右填充指定长度 eg.中间参数表示显示的字符个数 select lpad('老鼠',12,'*'); 8.replace 替换 eg. 大米所有替换成小米 select replace('老鼠爱大米,老鼠爱大米老鼠爱大米','大米','小米');
1.round 四舍五入 SELECT ROUND(-1.55); SELECT ROUND(1.567,2); 2.ceil 向上取整,返回>=该参数的最小整数 3.floor 向下取整,返回<=该参数的最大整数 4.truncate 截断 eg.参数2为截取小数点后几位 SELECT TRUNCATE(1.69999,1); #返回1.6 5.mod取余
1.now 返回当前系统日期+时间 SELECT NOW(); 2.curdate 返回当前系统日期,不包含时间 SELECT CURDATE(); 3.curtime 返回当前时间,不包含日期 SELECT CURTIME(); 4.能够获取指定的部分,年、月、日、小时、分钟、秒 SELECT YEAR(NOW()) 年; SELECT MONTH(NOW()) 月; SELECT MONTHNAME(NOW()) 月; #返回英语月份 SELECT hour(NOW()) 小时; SELECT minute(NOW()) 分钟; SELECT second(NOW()) 秒; 5.str_to_date 将字符经过指定的格式转换成日期 SELECT STR_TO_DATE(now(),'%Y-%c-%d'); 6.date_format 将日期转换成字符 SELECT DATE_FORMAT(NOW(),'%y年%m月%d日');
注:格式服务器
序号 | 格式符 | 功能 |
---|---|---|
1 | %Y | 四位的年份 |
2 | %y | 2位的年份 |
3 | %m | 月份(01,02…11,12) |
4 | %c | 月份(1,2,…11,12) |
5 | %d | 日(01,02,…) |
6 | %H | 小时(24小时制) |
7 | %h | 小时(12小时制) |
8 | %i | 分钟(00,01…59) |
9 | %s | 秒(00,01,…59) |
version 当前数据库服务器的版本 database 当前打开的数据库 user当前用户 password('字符'):返回该字符的密码形式 md5('字符'):返回该字符的md5加密形式
case函数的使用一 switch case 的效果 case 要判断的字段或表达式 when 常量1 then 要显示的值1或语句1; when 常量2 then 要显示的值2或语句2; ... else 要显示的值n或语句n; end case 函数的使用二:相似于 多重if case when 条件1 then 要显示的值1或语句1 when 条件2 then 要显示的值2或语句2 。。。 else 要显示的值n或语句n end
特色:svg
1.语法 select max(字段) from 表名;函数
2.支持的类型加密
sum和avg通常用于处理数值型
max、min、count能够处理任何数据类型spa
3.如下分组函数都忽略nullcode
4.均可以搭配distinct使用,实现去重的统计
5.和分组函数一同查询的字段,要求是group by后出现的字段
max 最大值 min 最小值 sum 和 avg 平均值 count 计算个数 附加: count(1):统计结果集的行数 count(*):统计结果集的行数 效率上: MyISAM存储引擎,count(*)最高 InnoDB存储引擎,count(*)和count(1)效率>count(字段)