MySQL中,提供了丰富的函数,简化了用户对数据的操作
包括数学函数、字符串函数、日期和时间函数、条件判断函数、加密函数等
数学函数
ABS(x),返回x的绝对值
SQRT(x),返回x的非负2次方根
MOD(x,y),返回x被y除后的余数
CEILING(x),返回不小于x的最小整数
FLOOR(x),返回不大于x的最大整数
ROUND(x,y),对x进行四舍五入操作,小数点后保留y位
TRUNCATE(x,y),舍去x中小数点y位后面的数
SING(x),返回x的符号,-1、0或者1
字符串函数
LENGTH(str),返回字符串str的长度
CONCAT(s1,s2,……),返回一个或者多个字符串连接,产生的新的字符串
TRIM(str),删除字符串两侧的空格
REPLACE(str,s1,s2),使用字符串s2,替换字符串str中所有的字符串s1
SUBSTRING(str,n,len),返回字符串str的子串,起始位置为n,长度为len
REVERSE(str),返回字符串反转后的结果
LOCATE(s1,str),返回子串s1在字符串str中的起始位置
日期和时间函数
CURDATE()——获取系统当前日期
CURTIME()——获取系统当前时间
SYSDATE()——获取当前系统日期和时间
TIME_TO_SEC()——返回将时间转换成秒的结果
ADDDATE()——执行日期的加运算
SBUDATE()——执行日期的减运算
DATE_FORMAT()——格式化输入日期和时间值
条件判断函数
IF(expr,v1,v2)——如果expr表达式,为true返回v1,否则返回v2
IFNULL(v1,v2)——如果v1不为NULL,返回v1,否则返回v2
CASE expr WHEN v1 THEN r1[WHEN v2 THEN r2……][ELSE m] END——如果,expr值等于v1,v2等,则返回对应位置THEN后面的结果,否则,返回ELSE后的结果rn
加密函数
MD(str)——对字符串str,进行MD5加密
ENCODE(str,pwd_str)——使用pwd作为密码,加密字符串str
DECODE(str,pwd_str)——使用pwd作为密码,解码字符串str
查询student表中所有记录,将各个字段的值使用下划线连接起来
可以看到,使用CONCAT函数,将student表中各个字段的值,使用下划线连接起来了。
注意,CONCAT(str1,str2,……)返回的结果为,连接参数产生的字符串,如果,有任何一个参数为NULL,则返回的值为NULL
查询student表中,id和gender字段值,如果gender字段的值为na,则返回1,如果不为na,则返回0
可以看出,gender字段值为na的记录,都返回了1,gender字段值为nv或者NULL的记录,都返回了0。