新手必看攻略 第二期 字符串函数!!!

字符串函数

字符串函数主要用来处理字符串数据,MySQL 字符串函数主要有计算字符长度函数、字符串合并函数、字符串转换函数、字符串比较函数以及查找指定字符串位置函数等。

以下为字符串函数的介绍:

 

 字符串函数

功能介绍

 CHAR_LENGTH(str)

返回字符串 str1 包含字符的个数。像中文这种多字节的一个字符也只能算单字符

 LENGTH(str)

返回字符串 str1 包含字节的个数

 CONCAT(s1,s2,…)

字符串合并函数,返回结果为连接参数产生的字符串。参数可以是一个或多个。

如有任意一个字符串参数为 null,则返回值为 null

 INSERT(str,pos,len,newstr)

替换字符串函数。字符串 str 在位置 pos 起始且长度为 len 的子串由字符串 newstr 

替换,最终返回替换之后的 str

 LOWER(str) 和 LCASE(str)

这两个函数功能相同,都是将字符串 str 中的字母转换为小写

 UPPER(str) 和 UCASE(str)

这两个函数功能相同,都是将字符串 str 中的字母转换为大写

 SUBSTR(str,pos,len)  和 

 SUBSTRING(str,pos,len)

截取原始字符串 str 中从 pos 开始的 len 长度字符串。len 是可选项,

如果该项缺省则获取从 pos 开始的剩余字符串内容

 LFFT(str,len)

截取左侧字符串函数,返回 str 最左的 len 个字符

 RIGHT(str,len)

截取右侧字符串函数,返回 str 最左的 len 个字符

 LTRIM(str)

删除字符串 str 左侧所有空格

 RTRIM(str)

删除字符串 str 右侧所有空格

 TRIM(str)

删除字符串 str 左右两端所有空格

 TRIM(s1 from str)

删除字符串 str 中两端包含的子字符串 s1

 REPEAT(str,n)

重复生成字符串函数。返回一个由重复的字符串 str 组成的字符串,该字符串

中 str 的重复次数是 n。若 n<=0,则返回一个空字符串;若 str 或 n 为 null,

则返回 null

 STRCMP(s1,s2)

比较字符串大小函数。若 s1 和 s2 相等,则返回 0;若 s1 小于 s2,则返回 -1;

若 s1 大于 s2,则返回 1

 LOCATE(s1,str)

匹配字符串开始位置的函数。返回子字符串 s1 在字符串 str 中第一次出现的位置。

若 str 中没有包括 s1,则返回 0

 ELT(n,s1,s2…sn)

返回指定位置的字符串函数。根据 n 的取值,返回指定的字符串 sn。若 n=1,

则返回 s1;若 n=2,则返回 s2,以此类推。若 n<1 或 n>sn 的数目,

则返回值为 null

 FIELD(s,s1,s2…sn)

返回指定字符串位置的函数。返回字符串 s 在 s1,s2,…sn 中出现的位置。

如果找不到,则返回值为 0;若 s 为 null,则返回值为 0

 INSERT(str,s1)

匹配字符串开始位置的函数。功能同 LOCATE 函数

 REPLACE(str,s1,s2)

替换函数。使用字符串 s2 替换字符串 str 中所有的子字符串s1

 REVERSE(str)

返回和原始字符串 str 顺序相反的字符串

字符串函数应用:

1.使用 char_length(str) 和 length(str) 计算字符个数和字节个数。

语法:select char_length('test'),char_length(' 测试 '),length('test'),length(' 测试 ')

结果:

2.使用 concat(s1,s2,…) 函数连接多个字符串。

语法:select concat('My','SQL'), concat('My',null,'SQL'), concat(' 我 ',' 爱 ','MySQL')

结果:

 3.使用 insert(str,pos,len,newstr) 函数进行字符串替换操作。

语法:select insert('first',2,3,'second') column1, insert('first',-1,2,'second') column2, insert('first',6,3,'second') column3 ,insert('first',3,20,'second') column4, insert('first',3,null,'second') column5

结果:

4.使用 substr(str,pos,len) 截取原始字符串 str 中从 pos 开始的 len 长度字符串。

语法:select substr('MySQL',3,2) column1, substr('MySQL',3) column2, substr('MySQL',-4,3) column3, substr('MySQL',-5)  column4

结果:

5.使用 locate(s1,str) 匹配子字符串 s1 在字符串 str 中第一次出现的位置。

语法:select locate('my','MySQL'),locate('SQL','MySQLMySQL'),locate('sy','MySQL')

结果:

6.使用 elt(n,s1,s2,…,sn) 返回指定位置的字符串。

语法:select  elt(3,'ie','ef','chrome','360'),elt(3,'ie','ef')

结果:

7.使用 field(s,s1,s2,…sn) 返回指定字符串位置。

语法:select field( ' M y' , ' my1' , ' mY 2' , ' my' , ' M yS Q L' ) column1, field( ' M y' , ' myS Q L' , ' php' ) column2,field(null,'s1','s2') colmn3

结果:

 

今天的学习就到这里了啦!!!

希望能对大家有所帮助,下期再见。

 

 

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值