(2.16)Mysql之SQL基础——函数
关键词:mysql函数,mysql自定义函数,mysql聚合函数,mysql字符串函数,mysql日期函数
1、自定义函数
-- (1)一般形式 create function 函数名(参数类型 数据类型) returns 返回类型 begin sql 语句 return 返回的数据值 end
-- (2)举例
delimiter //
create function fn_test()
retrurn varchar(20)
begin
return ‘hello,world‘;
end //
delimiter ;
-- (3)调用
【1】直接select fn_test();
【2】在存储过程,或者任何表达式中都可以运用它
-- (4)函数的查看
【1】mysql.proc:select * from mysql.proc where db=‘db_name‘ and type=‘function‘;
【2】show function status like ‘fn_name‘;
【3】show create function fn_test();
【4】information_schema.`routines`:
select * from information.`routines`
where routine_schema=‘db_name‘ and routine_type=‘function‘;
-- (5)函数的删除
【1】drop function fn_test();
2、聚合函数
【1】max:最大值,适用于任何类型 【2】min:最小值,适用于任何类型 【3】avg:平均值,适用于数字类型 【4】sum:求和,适用于数字类型 【5】count:统计行数 【6】group_concat:将字符串从分组中连接成具有各种选项(如distinct,order by和separator)的字符串(sql server中的for xml path(),oracle中的wmsys.wm_concat)
(1)概念 ,即实现分组后,其他值默认以逗号为分隔符连接到一行
(2)最大长度参数:默认为1024,group_concat_max_len
使用实例;
【1】distinct:去重 【2】order by :排序 【3】设定分割字符
3、常用字符串函数
【1】concat(st1,str2,‘test_str‘):将括号内的多个字符串组连成一个字符串(就是类似于oracle中的||,sql server中的+,拼接)
【2】length(str)、char_length(str):以字节或者字符获取字符串的长度(英文下是一样的,但是UTF8中文一个字符是3个字节,比如 ‘你好呀‘,用char_length就是3,用length就是9)
【3】left(str,N)函数:获取左边N个字符
【4】replace(str,需要替换的值,被替换成的值)函数:替换
【5】trim(str):删除str字符串中左右两边的空格,中间不会删除
【6】find_in_set():在逗号分隔符的字符串列表中找到一个字符串
【7】format():格式化
【8】instr(str,find_str):返回字符串在字符串中第一次出现的位置
【9】concat_ws(‘connect_str‘,‘str1‘,‘str2‘,‘str3‘):意思是,str1和st2之间用connect_str字符串连接起来,str2与str3之间也是。忽略字符串中的所有Null(但不忽略空格)
6、内置函数
6.1、LAST_INSERT_ID():获取自增长的最后插入值ID
6.2、instr:返回字符串在字符串中第一次出现的位置
使用方法:instr(‘hello_world‘,‘wo‘),结果为7,即返回后面字符串在前面字符串第一次出现的位置
原文:https://www.cnblogs.com/gered/p/10468566.html