#字符串函数:
length(str) 获取字符串子节长度;
concat(str1,str2,…) 拼接字符串(注意不能用+号连接字符串);
substr(str,start)/substr(str,start,len) 取字符串的子串,类似java中的substring ,注意在MySQL中字符串位置从1开始,不是java中的从0开始;
*instr(str1,str2)*返回str2在str1中出现的位置(注意只返回最早出现的位置,同样从1开始);
*trim(str)/trim({BOTH | LEADING | TRAILING} [remstr] FROM] str)*一般常用来删除空格,加参数可以用来删除两端或首端或尾端的remstr;
upper(str) 将字符串所有字符大写;
*lower(str)*将字符串所有字符小写;
lpad(str,len,lpadstr) 用lpadstr加到str左边以达到len长度;
rapd(str,len,rpadstr) 用rpadstr加到str右边以达到len长度;
raplace(str,from_str,to_str) 将str中所有的from_str字符串替换成to_str,若str中不存在from_str则不会改变str;
#数学函数:
round(num)/round(num,count) 四舍五入,count为保留几位小数;
ceil(num) 向上取整,注意,负数向上取整同样变大,不像round()那样负数五入变小;
*floor(num)*向下取整;
*truncate(num,index) index可以为正数、负数、0,取整数代表取小数点后几位,不够的补0,取0代表只取整数位,取负数代表从小数点向左算取几位赋为0.;
*mod(a,b) *首先mod计算公式为a-(a/b)*b,因此若a为正数,mod结果就为非负数,若a为负数,mod结果为非正数;
#日期函数
now() 返回现在日期和时间
curdate() 返回现在的日期
curtime() 返回现在的时间
year(time) 返回time的年份
month(time) 返回time的月份
monthname(time) 返回time的英文月份名
day(time) 返回time的天数
hour(time) 返回time的小时数
minute(time) 返回time的分钟数
second(time) 返回time的秒数
下面这个转自https://blog.csdn.net/moshenglv/article/details/52671527
%Y:代表4位的年份
%y:代表2为的年份
%m:代表月, 格式为(01……12)
%c:代表月, 格式为(1……12)
%d:代表月份中的天数,格式为(00……31)
%e:代表月份中的天数, 格式为(0……31)
%H:代表小时,格式为(00……23)
%k:代表 小时,格式为(0……23)
%h: 代表小时,格式为(01……12)
%I: 代表小时,格式为(01……12)
%l :代表小时,格式为(1……12)
%i: 代表分钟, 格式为(00……59)
%r:代表 时间,格式为12 小时(hh:mm:ss [AP]M)
%T:代表 时间,格式为24 小时(hh:mm:ss)
%S:代表 秒,格式为(00……59)
%s:代表 秒,格式为(00……59)
star_to_date(date,’%Y-%m-%d’) 日期和字符串的转换
date_format(date,’%Y-%m-%d’) 用于以不同的格式显示日期/时间数据
#条件函数
if(判断条件,若成立的语句,若不成立的语句) 类似java中的三元表达式;
假设成绩为score,设为等级为grade
case score
when 90 then ‘A’
when 80 then ‘B’
…
else ‘F’
end as grade
#分组函数
sum() 求和
avg() 计算平均值
max() 计算最大值
min() 计算最小值
count() 计算个数
特点:1、sum,avg 一般用于处理数值类型,max、min、count可以处理任何类型;
2、以上分组函数都忽略null值;
3、可以和distint搭配使用。
欢迎大家在评论补充常用函数!