MySQL|SUBSTR() 函数用法

MySQL SUBSTR() 函数 :截取字符串

SUBSTR( )与SUBSTRING( )意思相等

函数语法

SUBSTR (str, pos)
截取从pos位置开始到最后的所有str字符串

SUBSTR (str, pos, len)

参数说明:

  • str为列名/字符串;
  • pos为起始位置;mysql中的起始位置pos是从1开始的;如果为正数,就表示从正数的位置往下截取字符串(起始坐标从1开始),反之如果起始位置pos为负数,那么 表示就从倒数第几个开始截取;
  • len为截取字符个数/长度。

实例

SELECT SUBSTR('2018-08-17',6);与SELECT SUBSTR('2018-08-17' FROM 6);意思相同;

  • 案例1
SELECT SUBSTR('2018-08-17',6);

结果:

  • 案例2
SELECT SUBSTR('2018-08-17' FROM 6);

结果

SELECT SUBSTR('2018-08-17',6,5);与SELECT SUBSTR('2018-08-17' FROM 6 FOR 5);意思相同

  • 案例3
SELECT SUBSTR('2018-08-17',6,5);

结果

  • 案例4
SELECT SUBSTR('2018-08-17' FROM 6 FOR 5);

结果

  • 案例5:截取字符串前两位字符
SELECT SUBSTR('2018-08-17',1,2);

结果

  • 案例6:截取字符串后两位字符
SELECT SUBSTR('2018-08-17',-2,2);

结果

  • 案例7:查询所有学员邮箱的用户名(注:邮箱中@前面的字符)

已知表 stuinfo

id 学号

name 姓名

email 邮箱 John@126.com

gradeId 年级编号

sex 性别 男 女

age 年龄

已知表 grade

id 年级编号

gradeName 年级名称

SELECT SUBSTR(email,1,INSTR(email,'@')-1) 用户名
FROM stuinfo;

编辑于 2020-04-30 20:18