转载自
https://www.jb51.net/article/91641.htm
控制流函数IFNULL(expr1,expr2)
如果expr1不是NULL,IFNULL()返回expr1,否则它返回expr2。IFNULL()返回一个数字或字符串值,取决于它被使用的上下文环境。
合并字符串函数concat() 和 concat_ws():
将传入的参数连接成为一个字符串。Concat_ws()则是中间加一个分隔符
比较字符串大小函数strcmp():
strcmp(str1,str2);
如果参数str1大于str2,返回1;如果str1小于str2,则返回-1;如果str1等于str2,则返回0;
字母大小转换函数:upper(s); ucase(s);
字母小写转换函数:lower(s); lcase(s);
查找字符串
find_in_set(str1,str2) 返回字符串位置
会返回在字符串str2中与str1相匹配的字符串的位置,参数str2字符串中将包含若干个用逗号隔开的字符串。
返回指定字符串位置的field()函数:
filed(str,str1,str2…)
返回第一个与字符串str匹配的字符串的位置。
返回子字符串相匹配的开始位置:
mysql中有三个函数可以获取子字符串相匹配的开始位置,分别是locate()、position()、instr()函数。
locate(str1,str) position(str1 in str) 和 instr(str,str1)
返回参数str中字符串str1的开始位置
left(str,num)返回字符串str中包含前num个字母(从左边数)的字符串。
right(str,num)返回字符串str中包含后num个字母(从右边数)的字符串。
:
可以通过substring()和mid()函数截取指定位置和长度的字符串。
函数语法为:
substring(str,num,len)
mid(str,num,len)
//返回字符串str中的第num个位置开始长度为len的子字符串。
去除字符串首尾空格的函数有:ltrim()、rtrim()、trim()
ltrim(str) //返回去掉开始处空格的字符串
rtrim(str) //返回去掉结束处空格的字符串。
trim(str) //返回去掉首尾空格的字符串
替换字符串
实现替换字符串的功能,分别为insert()和replace()
使用insert()函数:
函数定义为:
insert(str,pos,len,newstr)
//insert()函数会将字符串str中的pos位置开始长度为len的字符串用字符串newstr来替换。
//如果参数pos的值超过字符串长度,则返回值为原始字符串str。
//如果len的长度大于原来str中所剩字符串的长度,则从位置pos开始进行全部替换。若任何一个参数为null,则返回值为null.
使用replace()函数:
函数的定义为:
replace(str,substr,newstr) //将字符串str中的子字符串substr用字符串newstr来替换。
使用数值函数:
获取随机数:
通过rand()和rand(x)函数来获取随机数。这两个函数都会返回0-1之间的随机数,
其中rand()函数返回的数是完全随机的,而rand(x)函数返回的随机数值是完全相同的。
获取整数的函数:
如果想要获取整数,可以通过、ceil()和floor()函数来实现。
ceil()函数的定义为:
ceil(x) //函数返回大于或等于数值x的最小整数。
floor() //函数返回小于或等于数值x的最大整数。
获取当前日期:
获取当前日期的函数curdate()和current_date()函数。
获取当前时间:
获取当前时间的函数,curtime()或者current_time();推荐使用curtime();