一、数学函数
(1)ABS(x)返回绝对值;例:
(2)PI()返回圆周率的函数,默认值为小数后六位;例:
(3)求函数的平方根SQRT(x);例:
注意:只有整数可以求平方根,负数没有。因此负数的求平方根的值为null;
(4)求余函数MOD(x,y);例:
注意:该函数返回x被y除后的余数,对小数也起作用;
(5)CEIL(x)和CEILING(x)意义相同,前者是后者的缩写;返回不小于x的最小正整数;
(6)FLOOR(x)返回不大于x的最大正整数;
(7)获取随机数;RAND()函数产生的数在0-1之间,如果加上一个a则会产生a-a+1的随机数;
(8)获取随机数函数;RAND(x),如果指定x则它被用作种子值,用来产生重复数列;即x值相同则产生的随机数相同;
(9)round()和round(x,y);
round();四舍五入,
round(x,y)对x进行保留y位,如果y为负数则保留小数点左边y位;若位数不够则直接保存为0,不进行四舍五入;此时的x为正数;
(9)truncate(x,y)和round(x,y)用法类似但是truncate是直接截取不会进行四舍五入;
(10)sign(x)返回参数x的正负值;返回值为-1,0,1
(11) 幂运算函数pow(x,y),power(x,y);
(13) 对数运算函数log(x),返回以e为底数的对数;log10(x)以10 为底数的对数;
(14)字符串函数,获取字符串字符长度char_length(str),length(str)
char_length(str)返回值为字符串str所包含的字符个数,一个多字节字符算作一个单字符
length(str)返回值为字符串的字节长度,使用utf8(unicode的一种变
长字符编码,又称万国码)编码字符集时,一个汉字是两个字节,
一个数字或者字母算一个字节
(15)合并字符串concat(s1,s2....);如果其中的一个字符串为null则结果就位null;
(16)合并字符串concat_ws(x,s1,s2....);以x为分割符对字符串参数进行连接,有null则忽略;
(17)替换字符串的函数insert(s1,x,len,s2);
Insert(s1,x,len,s2)返回字符串s1,其子字符串起始于x位置和被s2取代的
len字符,如果x超过字符串的长度,则返回原始字符串,假如len的长度大于
其它字符串的长度,则从位置x处开始替换,若任何一个参数为null,则返回值为null
起始位置小于1,大于s1的长度,均返回s1原字符串。
(18)字母大小写转换lower(),upper();
(19)获取指定长度的字符串left(s,n),right();
若n>s的长度则返回s,若n为负数则返回空;
(20)填充字符串函数lpad(s1,len,s2),rpad(s1,len,s2);
如果s1的长度大于len 则返回len长度的s1;l和r的区别为在左和在右;
(21)删除空格函数ltrim(s),rtrim(s),trim(s)即删除字符串左边、右边、两边的空格;
(22)删除指定字符串trim(s1 from s);从s两端删除指定的字符串s1;
(23)repeat(s,n)重复生成字符串函数;
如果两个参数有一个为null则返回null;如果n小于等于0则返回空;
(24)替换函数replace(s,s1,s2);
用s2 替换s中的s1;
(25)比较字符串大小函数strcmp(),若字符串相同则返回0,若第一个小于第二个返回-1,其余返回1;
(26)获取子串的函数substring(s,n,len)和mid(s,n,len)
substring(s,n,len)带有len参数的格式,从字符串s返回一个长度同len
字符相同的子字符串,起始于位置n。
如果n是负值,则子字符串的位置起始于字符串结尾的n字符,即倒数第n
个字符,而不是字符串的开头位置
substring函数与mid函数作用相同
如果对len使用一个小于1的值,则结果始终是空字符串
(27)匹配字符串开始的位置locate(str1,str);
返回str1在str中的开始位置
(28)字符串的逆序函数reverse(s);
(29)返回指定位置的字符串elt(n,str1,str2,str3...)
若n为1 则返回str1;若n>str的个数则返回null;
(30)返回指定字符串的函数field(s,s1,s2,s3...)若无s字符串则返回0;
(31)返回子串位置的函数find_in_set(s1,s2);
若子串中无则返回0;
(32)角度与弧度相互转换的函数radians(x)和degrees(x)
使用radians将角度转换为弧度,
degrees(x)将参数x由弧度转换为角度
(33)正弦函数sin(x),反正弦函数asin(x),余弦函数cos(x) ,反余弦函数acos(x) ;
sin(x)返回x的正弦,其中x为弧度值
asin(x)返回x的反正弦值,值必须在-1到1之间,0时返回0,小于-1返回负数,大于1返回null;
cos(x)返回x的余弦,x为弧度值,cos与acos互为反函数
(34)正切函数、反正切函数 、余切函数
TAN(x)返回x的正切,其中x为给定的弧度值,
ATAN(x)返回x的反正切,即正切为x事务值
COT(x)返回x的余切,与tan互为倒数TAN(x)返回x的正切,其中x为给定的弧度值,
二·、时间日期函数
(1)获取当前日期和获取当前时间函数
curdate()和current_date()函数作用相同,将当前日期安照'YYYY-MM-DD'或YYYYMMDD格式的值返回, 具体格式根据函数在字符串或是数字语境中而定。
通过下图结果 可以看到,两个函数的作用相同,都是获取系统当前日期,通过+0,将日期型转换为数值型。
(2) 获取月份函数month(date)和monthname(date)
(3)dayname(d),dayofweek(d),weekday(d)
dayname(d)函数返回d对应的工作日的英文名称,例如sundaymonday等
dayofweek(d)函数返回d对应的一周的索引位置,1表示周日,2表示周一,...7表示周六
weekday(d)返回d对应的工作日索引,0表示周一,1表示周二...6表示周日
(4)获取星期函数week(d)和weekofyear(d);
WEEK(d)计算日期d是一年中的第几周
WEEKOFYEAR(d)计算某一天是一年中的第几周,相当于week(d,3)
(5)DAYOFYEAR()返回一年中的第几天,范围从1到366
DAYOFMONTH()返回一个月的第几天,范围从1到31
(6)year(),quarter(),minute(),second()获取年,季度,分钟,秒
三、条件判断函数
(1)if(expr,v1,v2)
若expr返回true则返回v1否则v2
(2)ifnull(v1,v2)函数
IFNULL(v1,v2)加入v1不为null,则IFNULL()的返回值为V1;否则其返回值为v2。
IFNULL的返回值是数字还是字符串,根据其具体的语境而定。
四、系统信息函数
(1)version()
(2)show databases查看数据库
(3)conv(N,from_base,to_base)不同进制的数字进行转换
conv(N,from_base,to_base)函数进行不同进制数间的转换。返回值为N的字符串表示,由
from_base进制转换为to_base进制。如有任意一个参数为null,则返回值为null。自变量n被理解为
一个整数,但是可以被指定为一个整数或者字符串。最小基数,而最大基数则是36
(4)转换数据类型函数
CAST(x,AS type)和CONVERT(x,type)函数将一个类型的值转换为另一个类型的值
可以转换的type有:BINARY()、CHAR(n)、DATE、TIME、DATETIME、DECIMAL、
SIGNED、UNSIGNED。