sqlserver取一段字符,sql取指定字符前的字符串
sqlserver中如何进行截取字符串然后再计算?
oracle中的方法可以这样,但是不知道sql server中支不支持相应的函数,你可以试一下
成都创新互联是一家专业提供巴南企业网站建设,专注与网站设计、成都网站建设、H5场景定制、小程序制作等业务。10年已为巴南众多企业、政府机构等服务。创新互联专业网络公司优惠进行中。
select replace(t.number,'m','') num from table1 t //去掉m 变成100*200但是这是varchar类型不是数字
(1)instr(replace(t.number,'m',''),'*',1) 从100*200的第1位截取到 '*' 的长度,注:这时是长度,不是数字100
substr(num,1,instr(replace(t.number,'m',''),'*',1)-1) 从第一位截取到'*'之前,即取出100
(2)instr(replace(t.number,'m',''),'*',-1) 从100*200的最后1位截取到 '*' 的长度
substr(num,-1,instr(replace(t.number,'m',''),'*',-1)-1) 取出200
然后(1)*(2)就可以了(把substr里面的num换成 replace(t.number,'m',''))
思路就这样,你再整理一下就可以了
【搬运】Sql Server中截取字符串的常用方法
1、LEFT() 从左边截
语法:LEFT(character,integer) 返回 从字符串左边开始 指定个数的字符
说明:参数1:要截取的字符串,参数2:截取字符个数
示例:selectLEFT('SqlServer_2008',3)
结果:Sql
2.RIGHT() 从右边截
语法:RIGHT(character,integer) 返回 从字符串右边开始 指定个数的字符
说明:参数1:要截取的字符串,参数2:截取字符个数
示例:selectLEFT('SqlServer_2008',4)
结果:2008
3.SUBSTRING() 中间截
语法:SUBSTRING(character,start,length) 返回从字符串 中间 的字符
说明:参数1:要截取的字符串,参数2:开始截取的位数,参数3:要截取的字符长度
示例:selectSUBSTRING('SqlServer_2008',4,6)--4)
结果:Server
以上。
感谢二位!
sqlserver 字符截取、查找
返回字符串在表达式expression里第一次出现的位置,起始值从1开始算,没找就返回0
描述一下此函数的具体用法:
'%pattern%' 的用法类似于 like '%pattern%' 的用法,也就是模糊查找其pattern字符串是否是expression找到,找到并返回其第一次出现的位置。
查找pattern的结束所在expression的位置,也就是从后面匹配起查找。
查询pattern首次出现的位置。
返回0,开头找不到就返回0,后面无论有多少都不管。
这就相当于精确匹配查找,也就是pattern,expression完全相等。
[] 是指定某些特殊的字符。
[^] 除[]之外的字符串。
sql语句,能够截取指定字段后面的一个字符串吗?
可以的,需要用到charindex函数和substring函数。
CHARINDEX函数常常用来在一段字符中搜索字符或者字符串。
substring
public String substring(int beginIndex)
返回一个新的字符串,它是此字符串的一个子字符串。该子字符串始于指定索引处的字符,一直到此字符串末尾。
扩展资料:
javascript示例
1 scripttype="text/javascript"
2 var str="Helloworld!"
3 document.write(str.substring(1,3));4 /script
上面返回字符串:"el";
str.substring(1,2) //返回e
str.substring(1) //返回"elloworld";
还有此函数中会出现奇怪的现象,当出现str.substring(5,0);
这又是怎么回事,不过返回的是"Hello",
str.substring(5,1) //返回"ello",截去了第一位,返回余下的.
可见substring(start,end),可以有不同的说明,即start可以是要返回的长度,end是所要去掉的多少个字符(从首位开始).
在JS中,substr(start,length),用得较方便.
CustomName包含客户的First Name和Last Name,它们之间被一个空格隔开。我们用CHARINDX函数确定两个名字中间空格的位置。通过这个方法,我们可以分析ContactName列的空格位置,这样可以只显示这个列的last name部分。
select top 5 substring(ContactName,charindex(' ',ContactName)+1,len(ContactName)) as [Last Name] from customers
CHARINDEX函数找到First Name和Last Name之间的空格,所以SUBSTRING函数可以分开ContactName列,这样就只有Last Name被选出。在CHARINDEX函数返回的整数上加1,这样Last Name不是从空格开始。
参考资料来源:百度百科-CHARINDEX
百度百科-substring
sql中where截取字符串字符
不管哪个库,sql中一般都支持substring 或者它的变种 substr left right mid等
分享标题:sqlserver取一段字符,sql取指定字符前的字符串
分享URL:http://pwwzsj.com/article/hdoiic.html