库中有这样一些记录,要求筛选出口径大于DN100的记录. 字段名:标准描述 字段内容:高压闸阀\Z941H-160C\[b]DN50[/b]\GB12234 高压闸阀\Z941H-160C\DN500\GB12234 高压闸阀\Z941H-200C\DN200\GB12234 高压闸阀\Z941H-160C\DN65\GB12234 高压闸阀\Z941W-100R\DN350\GB12234 高压闸阀\Z941W-100R\DN50\GB12234 高压闸阀\Z941W-160R\DN50\GB12234
记录总数有4000多,实在是不知怎么办好了.请各位大侠多多指点!
--如果数据格式有变化会出错 create function fn_isUp( @str varchar(3000), @str1 varchar(30), @Num int ) returns bit as begin declare @r bit declare @i int set @r=0 if charindex( '\ '+@str1,@str) <=0 return 0 if charindex( '\ ',@str,charindex( '\ '+@str1,@str)+1) <=0 return 0 set @i=cast(substring(@str,charindex( '\ '+@str1,@str)+len(@str1)+1,charindex( '\ ',@str,charindex( '\ '+@str1,@str)+1)-charindex( '\ '+@str1,@str)-len(@str1)-1) as int) if @i> @Num set @r=1 return @r end go
--调用 select * from 你的表名 where dbo.fn_isUp(字段名, 'DN ',100)=1
口径大于DN100 是个什么概念?怎么有DN50也用红色标记出来了?
函数patindex()挺不错的啊!
|