轉載自
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();