WEB 开发 开发语言 Java 技术 .Net 技术 数 据 库 硬件使用
图象媒体 Linux/Unix 移动平台 嵌入开发 Windows 专区 软件工程
Ajax 技术 | ASP | PHP | ASP.NET | C# | JSP | Access | Oracle | 网页设计 | Flash | 安全专题 | IIS | VC/MFC | Delphi | C/C++
 你的位置:首页 > 开发语言 > VC/MFC

如何用SQL语言完成复杂字符串的筛选
[ 来源:ITWENKU 时间:2006-11-29 16:00:50 | 浏览:183人次 ]
库中有这样一些记录,要求筛选出口径大于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()挺不错的啊!
 相关文章
·想问一个文件备份的问题
·ODBC API错误
·问个有关菜单提示符的问题?
·windows 不能建立任何SOCKET
·mht如何转化为HTML?
·怎么进行人体区域检测?

 最新更新
关于内存映射文件的处理问题
要做一个播放264文件的程序。请高手给指指路了,谢谢
CTreeCtrl控件叶节点的区分问题,请高手帮忙
服务中用远程线程为什么报内存不能为"written"呢?
没有column header的CListCtrl的数据添加
串口程序
用tinyxml读取XML文件时,在读了一段数据后怎样继续读取第二段数据的头节点?
怪事内存映射文件,没有FlushViewOfFile,也可以保存到文件?
用C实现Ping程序
对ini文件的写入字符
如此动态创建CEdit(在CWnd上),为什么显示是平坦的?没有BORDER?。。
new的问题
 版权所有:中国IT问库
copyright © 2006 www.itwenku.com all rights reserved.