如何用SQL 语句截取两个固定字符之间的字符串?
如:“1丘2栋”,我想截1或者2两个字符出来;不过,字符串宽度不固定,如前面的字符串也可能是:“11丘122栋”如果是这样,该如何截取?...
如:“1丘2栋”,我想截1或者2两个字符出来;不过,字符串宽度不固定,如前面的字符串也可能是:“11丘122栋”如果是这样,该如何截取?
展开
展开全部
select substring('盯闹毁1丘2栋',0,charindex('丘', '1丘2栋'凯备)),substring('1丘2栋',charindex('丘', '1丘2栋') + 1,len('1丘2栋弯辩')-2)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
一、用到的函数:substring(' ', , )、charindex(' ',' ')
select SUBSTRING('hello@163.com',1,charindex('@','hello@163.com')-1)
1.substring(字符串表达式,开始位置,长度):
从一个指定字符串的指定位置截取制定长度的字符;
第一个参数表示被截取的字符串;
第迅郑二个参数表示要在第一个参数中开始截取的位置;
第三个参数表示要截取的长度。
例如:select substring('abc123',1,2) →返回ab
从字符串‘abc123’的第一个字符开始截取,共截取两个字符,最后得到‘ab’。
2.charindex(字符串表达式1,字符串表达式2[,整数表达式]):
在字符串2中查找字符串1,如果存在返回第一个匹配的位置,如果不存在返回0。如果字符串1和字符串2中有一个是null则返回null。
可以指定在字符串2中查找的起始位置。
例如:select charindex('ab','BCabTabD') →磨好 返回3
select charindex('ab','BCabTabD',4) →返回6
二、用到的函数:left(' ', )、charindex(' ',' ')
select LEFT('hello@163.com',charindex('@','hello@163.com')-1)
1.left(字符串表达式,整数瞎昌铅表达式):
从字符串表达式的最左边开始截取整数表达式个字符。
例如:select left('abcdef',3) →返回abc
select SUBSTRING('hello@163.com',1,charindex('@','hello@163.com')-1)
1.substring(字符串表达式,开始位置,长度):
从一个指定字符串的指定位置截取制定长度的字符;
第一个参数表示被截取的字符串;
第迅郑二个参数表示要在第一个参数中开始截取的位置;
第三个参数表示要截取的长度。
例如:select substring('abc123',1,2) →返回ab
从字符串‘abc123’的第一个字符开始截取,共截取两个字符,最后得到‘ab’。
2.charindex(字符串表达式1,字符串表达式2[,整数表达式]):
在字符串2中查找字符串1,如果存在返回第一个匹配的位置,如果不存在返回0。如果字符串1和字符串2中有一个是null则返回null。
可以指定在字符串2中查找的起始位置。
例如:select charindex('ab','BCabTabD') →磨好 返回3
select charindex('ab','BCabTabD',4) →返回6
二、用到的函数:left(' ', )、charindex(' ',' ')
select LEFT('hello@163.com',charindex('@','hello@163.com')-1)
1.left(字符串表达式,整数瞎昌铅表达式):
从字符串表达式的最左边开始截取整数表达式个字符。
例如:select left('abcdef',3) →返回abc
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询