MSSQL中截取特定的字符串
字符串截取 sql上午碰到一个需求,需要在数据库中截取一个字符串的特定部分: 假设一个字符串是邮箱地址“*************”,最后取到的字符串应当是“hello”。 由于上面的这个需求,看了一下数据库中关于字符串函数这方面的学问,终于可以得到以下几种解决的办法: 一、用到的函数:bsing(' ', , )、charind(' ',' ') select SUBSTRING('*************',1,charindex('@','*************')-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('*************',charindex('@','*************')-1) 1.left(字符串表达式,整数表达式): 从字符串表达式的最左边开头截取整数表达式个字符。 例如:select left('abef',3)  →返回abc    数据
库这方面的学问,学的时候感觉容易,也简单理解,但是当学过之后一段时光不用了就会想不起来,这也充分的解释了一个问题:学问的堆积也是一个重复的过程!

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。