函数 | 说明 |
CHAR_LENGTH(s) | 返回字符串s的字符数 SELECT CHAR_LENGTH('你好123') -- 5 |
LENGTH(s) | 返回字符串s的长度 SELECT LENGTH('你好123') -- 9 |
CONCAT(s1,s2,...) | 将字符串s1,s2等多个字符串合并为一个字符串 SELECT CONCAT('12','34') -- 1234 |
CONCAT_WS(x,s1,s2,...) | 同CONCAT(s1,s2,...)函数,但是每个字符串直接要加上x SELECT CONCAT_WS('@','12','34') -- 12@34 |
INSERT(s1,x,len,s2) | 将字符串s2替换s1的x位置开始长度为len的字符串 SELECT INSERT('12345',1,3,'abc') -- abc45 |
UPPER(s),UCAASE(S) | 将字符串s的所有字母变成大写字母 SELECT UPPER('abc') -- ABC |
LOWER(s),LCASE(s) | 将字符串s的所有字母变成小写字母 SELECT LOWER('ABC') -- abc |
LEFT(s,n) | 返回字符串s的前n个字符 SELECT LEFT('abcde',2) -- ab |
RIGHT(s,n) | 返回字符串s的后n个字符 SELECT RIGHT('abcde',2) -- de |
LPAD(s1,len,s2) | 字符串s2来填充s1的开始处,使字符串长度达到len SELECT LPAD('abc',5,'xx') -- xxabc |
RPAD(s1,len,s2) | 字符串s2来填充s1的结尾处,使字符串的长度达到len SELECT RPAD('abc',5,'xx') -- abcxx |
LTRIM(s) | 去掉字符串s开始处的空格 |
RTRIM(s) | 去掉字符串s结尾处的空格 |
TRIM(s) | 去掉字符串s开始和结尾处的空格 |
TRIM(s1 FROM s) | 去掉字符串s中开始处和结尾处的字符串s1 SELECT TRIM('@' FROM '@@abc@@') -- abc |
REPEAT(s,n) | 将字符串s重复n次 SELECT REPEAT('ab',3) -- ababab |
SPACE(n) | 返回n个空格 |
REPLACE(s,s1,s2) | 将字符串s2替代字符串s中的字符串s1 SELECT REPLACE('abc','a','x') --xbc |
STRCMP(s1,s2) | 比较字符串s1和s2 |
SUBSTRING(s,n,len) | 获取从字符串s中的第n个位置开始长度为len的字符串 |
MID(s,n,len) | 同SUBSTRING(s,n,len) |
LOCATE(s1,s),POSITION(s1 IN s) | 从字符串s中获取s1的开始位置 SELECT LOCATE('b', 'abc') -- 2 |
INSTR(s,s1) | 从字符串s中获取s1的开始位置 SELECT INSTR('abc','b') -- 2 |
REVERSE(s) | 将字符串s的顺序反过来 SELECT REVERSE('abc') -- cba |
ELT(n,s1,s2,...) | 返回第n个字符串 SELECT ELT(2,'a','b','c') -- b |
EXPORT_SET(x,s1,s2) | 返回一个字符串,在这里对于在“bits”中设定每一位,你得到一个“on”字符串,并且对于每个复位(reset)的位,你得到一个 “off”字符串。每个字符串用“separator”分隔(缺省“,”),并且只有“bits”的“number_of_bits” (缺省64)位被使用。 SELECT EXPORT_SET(5,'Y','N',',',4) -- Y,N,Y,N |
FIELD(s,s1,s2...) | 返回第一个与字符串s匹配的字符串位置 SELECT FIELD('c','a','b','c') -- 3 |
FIND_IN_SET(s1,s2) | 返回在字符串s2中与s1匹配的字符串的位置 |
MAKE_SET(x,s1,s2) | 返回一个集合 (包含由“,” 字符分隔的子串组成的一个 字符串),由相应的位在bits 集合中的的字符串组成。str1 对应于位0,str2 对 应位1,等等。 SELECT MAKE_SET(1|4,'a','b','c'); -- a,c |
SUBSTRING_INDEX | 返回从字符串str的第count个出现的分隔符delim之后的子串。 如果count是正数,返回第count个字符左边的字符串。 如果count是负数,返回第(count的绝对值(从右边数))个字符右边的字符串。 SELECT SUBSTRING_INDEX('a*b','*',1) -- a CASE WHEN e1 THEN v1 WHEN e2 THEN e2 ... ELSE vnEND CASE表示函数开始,END表示函数结束。如果e1成立,则返回v1,如果e2成立,则返回v2,当全部不成立则返回vn,而当有一个成立之后,后面的就不执行了。 SELECT CAST('123' AS UNSIGNED INTEGER) + 1 ->124SELECT '123' + 1 ->124 其实MySQL能默认转换SELECT CAST(NOW() AS DATE)
原标题:【转】MySql中的函数
关键词:MYSQL
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们:
admin#shaoqun.com
(#换成@)。
|