mysql惯用字符串函数

mysql常用字符串函数


1.字符串长度函数CHAR_LENGTH(str),LENGTH(str)

CHAR_LENGTH()返回值为字符串str的长度,长度的单位为字符。一个多字节字符算作一个单字符。对于一个包含五个二字节字符集,LENGTH() 返回值为 10, 而 CHAR_LENGTH() 的返回值为 5

select CHAR_LENGTH(‘你是’); –2

select LENGTH(‘你是’); –6

2.拼接函数

CONCAT(str1 ,str2 ,…):

返回结果为连接参数产生的字符串。如有任何一个参数为 NULL ,则返回值为NULL。

CONCAT_WS(separator ,str1 ,str2 ,…):

CONCAT_WS() 代表 CONCAT With Separator ,是 CONCAT() 的特殊形式。 第一个参数是其它参数的分隔符。分隔符的位置放在要连接的两个字符串之间。分隔符可以是一个字符串,也可以是其它参数。如果分隔符为 NULL ,则结果为 NULL 。函数会忽略任何分隔符参数后的 NULL 值。

LPAD(str ,len ,padstr):返回字符串 str , 其左边由字符串padstr 填补到len 字符长度

select LPAD(‘abc’,1,’de’);  –a (str的长度大于len,则返回值被缩短至len字符)

select LPAD(‘abc’,4,’de’); –dabc

select LPAD(‘abc’,5,’de’); –deabc

select LPAD(‘abc’,6,’de’); –dedabc

RPAD(str,len,padstr):返回字符串str , 其右边被字符串 padstr 填补至len 字符长度

select RPAD(‘abc’,1,’de’);  –a (str的长度大于len,则返回值被缩短至len字符)

select RPAD(‘abc’,4,’de’); –abcd

select RPAD(‘abc’,4,’de’); –abcde

select RPAD(‘abc’,6,’de’); –abcded

3.重复函数

REPEAT(str ,count):

函数使用说明:返回一个由重复的字符串str 组成的字符串,字符串str 的数目等于count 。 若 count <= 0, 则返回一个空字符串。若str 或 count 为 NULL ,则返回 NULL 。

4.查找位置函数

FIND_IN_SET(str, strlist)

假如字符串 str 在由 N 子链组成的字符串列表 strlist 中, 则返

回值的范围在 1 到 N 之间 。一个字符串列表就是一个由一些被 ‘,’ 符号分开的自链组成的字符串。如果第一个参数是一个常数字符串,而第二个是 type SET 列,则 FIND_IN_SET() 函数被优化,使用比特计算。如果 str 不在 strlist 或 strlist 为空字符串,则返回值为 0 。如任意一个参数为 NULL ,则返回值为 NULL。

INSTR(str,substr)

返回字符串 str 中子字符串的第一个出现位置。这和LOCATE() 的双参数形式相同,除非参数的顺序被颠倒。

LOCATE(substr ,str ) , LOCATE(substr ,str ,pos ):

第一个语法返回字符串 str 中子字符串substr 的第一个出现位置。第二个语法返回字符串 str 中子字符串substr 的第一个出现位置, 起始位置在pos 。如若substr 不在str 中,则返回值为0 。

5.截取函数

LEFT(str,len):

返回从字符串str 开始的len 最左字符

RIGHT(str ,len ):

从字符串str 开始,返回最右len 字符。

SUBSTRING(str ,pos ) , SUBSTRING(str FROM pos ) SUBSTRING(str ,pos ,len ) , SUBSTRING(str FROM pos FOR len ):

不带有len 参数的格式从字符串str 返回一个子字符串,起始于位置 pos 。带有len 参数的格式从字符串str 返回一个长度同len 字符相同的子字符串,起始于位置 pos 。 使用 FROM 的格式为标准 SQL 语法。也可能对pos 使用一个负值。假若这样,则子字符串的位置起始于字符串结尾的pos 字符,而不是字符串的开头位置。

select SUBSTRING(‘abcd’,-2); –cd

注:SUBSTRING() 等价于SUBSTR()

SUBSTRING_INDEX(str,delim,count)

在定界符 delim 以及count 出现前,从字符串str 返回自字符串。若count 为正值, 则返回最终定界符( 从左边开始) 左边的一切内容。若count 为负值,则返回定界符(从右边开始)右边的一切内容。

select SUBSTRING_INDEX(‘a,b,c’,’,’,2)     —  a,b 从开头到第2个,的串

SUBSTRING_INDEX(‘a,b,c’,’.’,-2)    —  b,c 从倒数第2个点开始的串

6.大小写转换函数

LCASE(str),LOWER(str)转化为小写

UCASE(str),UPPER(str)转化为大写

7.字符串替换函数

REPLACE(str ,from_str ,to_str)

返回字符串str 以及所有被字符串to_str 替代的字符串from_str

select REPLACE(‘abcabc’,’ab’,’e’); –ecec

8.反转函数REVERSE(str)

select REVERSE(‘abc’); –cba

9.去空格函数

select LTRIM(‘   abc’); –abc

select RTRIM(‘abc   ‘); –abc

TRIM([{BOTH | LEADING | TRAILING} [remstr ] FROM] str ):

返回字符串 str , 其中所有remstr 前缀和/ 或后缀都已被删除。若分类符BOTH 、LEADIN 或TRAILING 中没有一个是给定的, 则假设为BOTH

select TRIM(BOTH FROM’&

mysql惯用字符串函数

相关文章:

你感兴趣的文章:

标签云: