17、文本函数

1、定义

sql 的文本函数就是对字符串操作的函数,常用如下

1. length(str)

返回字符串长度

2. locate(substr,str)---------->位置从1开始

返回子串substr在str中第一次出现的位置,如果子串substr在字符串str中不存在,则返回0;

3. position(substr IN str )

返回子串substr在str中第一次出现的位置,如果子串substr在字符串str中不存在,则返回0;

4. instr(str,substr)

返回substr子串在str中第一次出现的位置,如果子串substr在字符串str中不存在,则返回0;

5. concat(str,str,str)

将两个或多个字符串连接起来,形成一个单一的字符串

6. substring(str ,n ,m)

返回字符串str从下标n位置开始,长度为m的字符串.

在不指定返回字符串长度的情况下,返回字符串str从下标n位置到结尾的字符串

7. substring_index(str ,substr ,n)

将字符串str依据substr为分隔符进行切分,并返回第n个分隔符前的字符

8. left(str, length):

将str从左向右截取为length长度的字符串

9. right(str, length):

将str从右向左截取为length长度的字符串

10. replace(str, n, m):

将字符串str中的n字符替换成m字符

11. trim(pos,substr from str)

将指定位置pos的子串substr从str中删除,这个pos只可以是leading(开头)、trailing(结尾)和both(头和尾)。如果不写pos,那就默认为both。

12. ltrm(str)

将str中左边的空格删除

13. rtrm(str)

将str中右边的空格删除

删除字符串中间的空格需要用到replace()函数

2、举例

  • 查询students里面的name,并查询出名字的长度
select name, length(name) as name_length from students;

name

name_length

小明

2

小红

2

小军

2

小米

2

小白

2

小兵

2

小林

2

小新

2

小王

2

小丽

2

  • 查询students里面的name,并根据昵称里面是否有'M'字符串来判断这个人是什么性别
select name, if((instr(gender, "M"))>=1, "男", "女") as gender from students;

name

gender

小明

小红

小军

小米

小白

小兵

小林

小新

小王

小丽

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值