玖叶教程网

前端编程开发入门

mysql基础中的基础——函数

前段时间b站看sql基础语法,在此做一总结

1.基本函数

mysql中的函数基本可以分为单行函数和分组函数,单行函数用于处理单个的数据,分组函数则是传输一组值过去进行处理。单行函数有可分为字符函数,数学函数,其他函数,和流程控制函数。下面按顺序展开讲。


1.1 字符函数

*length* length函数用于统计字节的长度 。使用方法 length(str),utf-8编码下一个字母一个字节,一个汉字三个字节。
*concat* concat用于拼接字符。使用方法 concat(str1,str2,...strn)

*upper,lower* upper转换为大写,lower转化为小写。

*substr* substr函数用于截取字符,使用方法 第1种.substr(str,pos) 从str的第pos位开始截取以后的字符并返回,pos从一开始。第2种.substr(str,pos,len)从str的第pos位开始截取len个字符并返回。

*instr* 返回子字符串在父子符串中出现的位置(从1开始),找不到返回0。 使用方法instr( parent,sbub )

*trim* 去除字符串两边指定的字符。使用方法trim( 'trimItem' from str ).eg: SELECT TRIM( 'a' FROM 'asssaasssaaa' ) 的运行结果是'sssaasss'
*lpad,rpad* lpad用指定字符填充指定字符串的左边到指定长度。使用方法lpad(str,length,padStr);rpad与lpad功能相似,只是从右边开始填充。

*replace* 替换字符串。使用方法replace(str,replacedStr,padStr).eg:replace('sfsfs','f','a') 的执行结果是sasas。

字符函数总归是处理字符的函数,大小写转换,长度计算,子串与父串的位置关系,填充,替换这几种功能


1.2 数字函数

*round* 保留指定位数之后四舍五入。 用法round(number, D) 保留D位小数,四舍五入。

*ceil,floor* ceil为向上取整函数,floor为向下取整。

*truncate* 截断小数点后第几位。用法 truncate(number,D)保留D位小数,截断。

*mod* 取余。 用法mod(number,mod) ,结果是number % mod 的结果。


1.3 日期函数

*str_to_date* 将日期格式的字符串按照指定格式转换为字符串。格式使用%Y,%m等指定。举例: str_to_date('4-3 1993','%c-%d %Y') 的结果是1993-04-03。
*date_format* 将日期转换为指定格式的字符串。格式指定字符同上。

常见格式说明:

1.4 其他函数

一些系统函数,诸如version 查看版本。database当前正在使用的数据库。以及其他等等。

1.5 流程控制函数

*if* 与三元运算符效果类似,使用方法if(expression, exe1,exe2),如果expression为真则执行exe1,若为假则执行exe2。
*case when then else end* 。 有两种使用方法,第一种:

case expression
when 常量 then [要显示的值 | 要执行的语句;]
可以多个...
else 缺省时执行的 [要显示的值 | 要执行的语句;]
end;

第二种:

case 
when 条件1 then 要显示的值 | [要显示的语句;]
when 条件2 then 要显示的值 | [要显示的语句;]
else  要显示的值 | [要显示的语句;]
end;

下来介绍多行函数:
多行函数都是对一组值进行计算的。
*sum* 统计一组值得和。

*avg* 统计一组值的平均值。

*min* 统计一组值中的最小值。

*max* 统计一组值中的最大值。

*count* 统计一组值得个数。

以上函数,都会忽略null值。sum,avg只能使用数值型数据。min,max可以用于数字,字符,日期类型。 count 支持任何类型。

发表评论:

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言