同样,`mysql> select substring(' 澳门永利_澳门永利网站 澳门永利网址 澳门永利官网【7570.com】', -4, 2);` 返回的是从倒数第4个字符开始的2个字符,即'.c'。最后,substring_index(str, delim, count)函数用于根据分隔符来截取字符串。例如,`mysql> select substring_index(' www.sqlstudy....
MySQL提供了多种字符串截取函数,它们在数据库处理中发挥着关键作用。这些函数包括:left(), right(), substring(), substring_index()。其中,mid()和substr()这两个函数与substring()等价,而substring()以其强大的灵活性和功能而著称。
在MySQL中,可以通过left(str, length)函数来截取字符串的起始部分。例如,`mysql> select left(' 澳门永利_澳门永利网站 澳门永利网址 澳门永利官网【7570.com】', 3);` 的结果是 'sql'。
同样,可以使用right(str, length)函数来截取字符串的结尾部分。例如,`mysql> select right(' 澳门永利_澳门永利网站 澳门永利网址 澳门永利官网【7570.com】', 3);` 的结果是 'com'。
使用substring(str, pos)或substring(str, pos, len)函数,可以根据指定的位置和长度来截取字符串。例如,`mysql> select substring(' 澳门永利_澳门永利网站 澳门永利网址 澳门永利官网【7570.com】', 4);` 返回的是从第4个字符开始到结尾的部分,即'Study.com'。同时,`mysql> select substring(' 澳门永利_澳门永利网站 澳门永利网址 澳门永利官网【7570.com】', 4, 2);` 返回的是从第4个字符开始的2个字符,即'st'。
在使用substring(str, pos, len)时,pos可以是负数,但len不能取负值。例如,`mysql> select substring(' 澳门永利_澳门永利网站 澳门永利网址 澳门永利官网【7570.com】', -4);` 返回的是从倒数第4个字符开始到结尾的部分,即'.com'。同样,`mysql> select substring(' 澳门永利_澳门永利网站 澳门永利网址 澳门永利官网【7570.com】', -4, 2);` 返回的是从倒数第4个字符开始的2个字符,即'.c'。
最后,substring_index(str, delim, count)函数用于根据分隔符来截取字符串。例如,`mysql> select substring_index('
www.sqlstudy.com.cn', '.', 2);` 返回的是在第二个'.'之前的所有字符,即'
www.sqlstudy'。同样,`mysql> select substring_index('
www.sqlstudy.com.cn', '.', -2);` 返回的是在第二个'.'之后的所有字符,即'com.cn'。如果在字符串中找不到分隔符,函数会返回整个字符串,例如`mysql> select substring_index('
www.sqlstudy.com.cn', '.coc', 1);` 的结果为'
www.sqlstudy.com.cn'。此外,可以利用substring_index函数来截取表中某个字段数据的中间值,如对于字段值为1,2,3的字段,可以使用`mysql> select substring_index(substring_index(该字段, ',', 2) , ',', -1) from 表名;`的查询来获取中间的值2。2024-11-18