MySQL 字符串截取函数

inhumming 2011-11-07

MySQL字符串截取函数:left(),right(),substring(),substring_index()。还有mid(),substr()。其中,mid(),substr()等价于substring()函数,substring()的功能非常强大和灵活。

1.字符串截取:left(str,length)

mysql>selectleft('sqlstudy.com',3);

+-------------------------+

|left('sqlstudy.com',3)|

+-------------------------+

|sql|

+-------------------------+

2.字符串截取:right(str,length)

mysql>selectright('sqlstudy.com',3);

+--------------------------+

|right('sqlstudy.com',3)|

+--------------------------+

|com|

+--------------------------+

3.字符串截取:substring(str,pos);substring(str,pos,len)

3.1从字符串的第4个字符位置开始取,直到结束。

mysql>selectsubstring('sqlstudy.com',4);

+------------------------------+

|substring('sqlstudy.com',4)|

+------------------------------+

|study.com|

+------------------------------+

3.2从字符串的第4个字符位置开始取,只取2个字符。

mysql>selectsubstring('sqlstudy.com',4,2);

+---------------------------------+

|substring('sqlstudy.com',4,2)|

+---------------------------------+

|st|

+---------------------------------+

3.3从字符串的第4个字符位置(倒数)开始取,直到结束。

mysql>selectsubstring('sqlstudy.com',-4);

+-------------------------------+

|substring('sqlstudy.com',-4)|

+-------------------------------+

|.com|

+-------------------------------+

3.4从字符串的第4个字符位置(倒数)开始取,只取2个字符。

mysql>selectsubstring('sqlstudy.com',-4,2);

+----------------------------------+

|substring('sqlstudy.com',-4,2)|

+----------------------------------+

|.c|

+----------------------------------+

我们注意到在函数substring(str,pos,len)中,pos可以是负值,但len不能取负值。

4.字符串截取:substring_index(str,delim,count)

4.1截取第二个'.'之前的所有字符。

mysql>selectsubstring_index('www.sqlstudy.com.cn','.',2);

+------------------------------------------------+

|substring_index('www.sqlstudy.com.cn','.',2)|

+------------------------------------------------+

|www.sqlstudy|

+------------------------------------------------+

4.2截取第二个'.'(倒数)之后的所有字符。

mysql>selectsubstring_index('www.sqlstudy.com.cn','.',-2);

+-------------------------------------------------+

|substring_index('www.sqlstudy.com.cn','.',-2)|

+-------------------------------------------------+

|com.cn|

+-------------------------------------------------+

4.3如果在字符串中找不到delim参数指定的值,就返回整个字符串

mysql>selectsubstring_index('www.sqlstudy.com.cn','.coc',1);

+---------------------------------------------------+

|substring_index('www.sqlstudy.com.cn','.coc',1)|

+---------------------------------------------------+

|www.sqlstudy.com.cn|

+---------------------------------------------------+

相关推荐