MySQL 字符串函数 截取字符

MySQL的字符串函数 截取字符

函数: 

1、从左开始截取字符串 


left(str, length) 
说明:left(被截取字段,截取长度) 
例:select left('chenxi',2)  --- ch

2、从右开始截取字符串 

right(str, length) 
说明:right(被截取字段,截取长度) 

例:select right (content,200) as abstract from content

3、截取字符串 

substring(str, pos) 
substring(str, pos, length) 
说明:substring(被截取字段,从第几位开始截取) 
substring(被截取字段,从第几位开始截取,截取长度) 
例:select substring(content,5) as abstract from content 
select substring(content,5,200) as abstract from content
注:如果位数是负数 如-5 则是从后倒数位数,到字符串结束或截取的长度) 

4、按关键字截取字符串 

substring_index(str,delim,count) 
说明:substring_index(被截取字段,关键字,关键字出现的次数) 
例:select substring_index("http://blog.csdn.net/chenxiruanhai",".",2)  as res from content
结果:http://blog.csdn
注:如果关键字出现的次数是负数 如-2 则是从后倒数,到字符串结束) 
函数简介:

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 字符,而不是字符串的开头位置。

5、字符替换 REPLACE(str,from_str,to_str) 

在字符串 str 中所有出现的字符串 from_str 均被 to_str替换,然后返回这个字符串 

例:UPDATE content  SET description=REPLACE(description,'chenxiruanhai','http://blog.csdn.net/chenxiruanhai');

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

CHAR_LENGTH()返回值为字符串str的长度,长度的单位为字符。一个多字节字符算作一个单字符。对于一个包含五个二字节字符集,LENGTH()返回值为 10, 而 CHAR_LENGTH() 的返回值为 5 
例:select CHAR_LENGTH('雷明明'); --3 
select LENGTH('chen'); --4

7.拼接函数 

CONCAT(str1 ,str2 ,...): 
返回结果为连接参数产生的字符串。如有任何一个参数为 NULL ,则返回值为NULL。 

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

8.重复函数 

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

9.查找位置函数 

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 。 

10.截取函数 

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('chenxiruanhai',-2); --ai 
注: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个点开始的串 

11.大小写转换函数 

LCASE(str),LOWER(str)转化为小写 
UCASE(str),UPPER(str)转化为大写 

12.字符串替换函数 

REPLACE(str ,from_str ,to_str) 
返回字符串str 以及所有被字符串to_str 替代的字符串from_str 
例:select REPLACE('chenxirh','rh','ruanhai'); --chenxiruanhai

13.反转函数REVERSE(str) 

例:select REVERSE('chen'); --nehc 

14.去空格函数 

select LTRIM('   chenxiruanhai'); --chenxiruanhai
select RTRIM('chenxiruanhai   '); --chenxiruanhai
TRIM([{BOTH | LEADING | TRAILING} [remstr ] FROM] str ): 
返回字符串 str , 其中所有remstr 前缀和/ 或后缀都已被删除。如果分类符BOTH 、LEADIN 或TRAILING 中没有一个是给定的, 
则假设为BOTH  

例:select TRIM(BOTH FROM '  chenxi  ruanhai  '); --chenxi  ruanhai 

15.空格字符串 

SPACE(N):返回一个由N个空格组成的字符串 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值