关于sqlServer2005数据库字符串的截取?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于sqlServer2005数据库字符串的截取?相关的知识,希望对你有一定的参考价值。
要求在sql语句查询的过程中截取这么一段话“正确率为65.00%”、“正确率为100.00%”,得到结果为:65.00%或者65、100.00%或者100?
这是两种情况,“100.00%”,和“65.00% ”长度就不一样,怎样让它一次性截取好的方法?
"正确率为65.00%" 中“正确率为”是固定长度,sqlserver中有没有类似Remove这样的方法?
--65.00%
SELECT PARSENAME((SUBSTRING('正确率为65.00%',PATINDEX('%[0-9]%','正确率为65.00%'),LEN('正确率为65.00%')-PATINDEX('%[0-9]%','正确率为65.00%')+1)),2)
--65 参考技术A select replace('正确率为65.00%','正确率为',' ') 试试追问
这个可以取到结果“65.00%”,但是我的sql最后要进行统计求平均数呢,而且这个字段是varchar类型的,还要转化类型呢。
追答select left (replace('正确率为65.00%','正确率为',' '),3)
追问select left (replace('正确率为65.00%','正确率为',' '),3)
这样的话出来的结果不就是“65.”后面还有个“.“呢,只有100.00% 才能出结果100
sqlserver 按分隔符截取字符串
参考技术A可以参考下面的代码:
select substring('ADFASDFD(DASFADSFAS)',1,charindex('(','ADFASDFD(DASFADSFAS)')-1)
主要用到两个函数,一个charindex,这个是判断指定字符位置的函数。
另一个是substring,这个是截取字符串的函数。
扩展资料:
sqlserver参考函数
upper(char_expr) 转为大写
lower(char_expr) 转为小写
space(int_expr) 生成int_expr个空格
reverse(char_expr) 反转字符串
stuff(char_expr1,start,length,char_expr2) 将字符串char_expr1中的从
参考资料来源:百度百科-SqlServer
以上是关于关于sqlServer2005数据库字符串的截取?的主要内容,如果未能解决你的问题,请参考以下文章