SQL语句如何截取字段中固定位置的值?

如题所述

SQL语句如何截取字段中固定位置的值有两种方法:

第一种:用到的函数:substring(' ', , )、charindex(' ',' ')

从字符串‘abc123’的第一个字符开始截取,共截取两个字符,最后得到‘ab’。

select SUBSTRING('[email protected]',1,charindex('@','[email protected]')-1)

第二种:elect id, substring(str,charindex(',',str)+1,len(str)-charindex(',',str)) from test;

如果中间间隔为-,则sql语句为select id, substring(str,charindex('-',str)+1,len(str)-charindex('-',str)) from test。

select SUBSTRING('[email protected]',1,charindex('@','[email protected]')-1)的意思:

substring(字符串表达式,开始位置,长度):

从一个指定字符串的指定位置截取制定长度的字符;

第一个参数表示被截取的字符串;

第二个参数表示要在第一个参数中开始截取的位置;

第三个参数表示要截取的长度。

例如:select substring('abc123',1,2) →返回ab

从字符串‘abc123’的第一个字符开始截取,共截取两个字符,最后得到‘ab’。

温馨提示:答案为网友推荐,仅供参考