一、内置函数:
数据库内有许多内置函数,常用的有:
-- 1、长度 select CHAR_LENGTH('字符长度'),LENGTH('字节长度'); -- 2、字符拼接 select concat('字符','直接','拼接'),concat_ws('_','指定','拼接','字符'); -- 3、进制转换,conv(N,from_base,to_base) select conv('a',16,8); -- 4、格式转换,format(X,N),保留小数点后N位, select format(3.1415926,4); -- 5、字符替换,insert(原字符串,替换起始位置,替换数量,替换字符串) select insert('dong',2,2,'***'); -- 6、字符查找,instr(str,substr),子串从第几个字符开始出现, select instr('dongonong','ng') -- 7、截断字符串,left(str,n),从左向右取前n个字符组成新字符串, select left('dongonong',2) -- 8、变大写upper、变小写lower, select upper('hiduhuidh'),lower('HJIDOGH'); -- 9、删除空格或占位符,ltrim删除左边空格,rtrim删除右边空格,trim删除两边空格或指定占位符, select trim(both ' ' from ' hi '),trim(both 'x' from 'xxxhixxx'); select ltrim(' hi '),rtrim(' hi ');
更详细的见官网:https://dev.mysql.com/doc/refman/5.7/en/functions.html
二、自定义函数:
与存储过程的不同:1、自定义函数有返回值,存储过程没有,2、存储过程可以返回结果集,函数不行,即:函数内不能执行select *,

另外:执行函数的参数可以使用筛选结果,如下:

三、函数在pymysql中的应用
# 1、调用函数 cursor.execute('select func_f1(nid),nid from man') # 2、查看返回值 ret = cursor.fetchall() print(ret)
浙公网安备 33010602011771号