首页 | 源码下载 | 网站模板 | 网页特效 | 广告代码 | 网页素材 | 字体下载 | 书库 | 站长工具
会员投稿 投稿指南 RSS订阅
当前位置:主页>网络编程>SQL server>资讯:如何筛选SQL字符串字段中部分值

如何筛选SQL字符串字段中部分值

www.jz123.cn  2010-11-09   来源:   中国建站    责任编辑(袁袁)    我要投递新闻

  如果需要筛选SQL字符串字段中部分值,应该怎么做呢?下面就教您筛选SQL字符串字段中部分值的记录的方法,供您参考。

  例如有一个KKBH(卡口编号)字段,这是一个字典字段(对应另一个实体表(卡口表)的编号字段)。这个字段的值保存所属卡口值域{01,02,03}

  本来想到的是通过or来实现,这样需要动态生成SQL语句。

  后来想到一个办法用charindex搜索SQL字符串的办法。将所有的要查的卡口编号组成类似'01@02'这样待查字符串。sql查询时通过charindex筛选出在待查SQL字符串里有的KKBH的记录。

  经测试使用or与使用charindex,两者在MSSQL中执行效率差不多。

  具体实现:

  用户界面查询需求:可能搜索N个卡口的记录(N的值域{1,所有卡口个数})。设计这个UI的形式一共三种:

  一、一个多选listbox。用户界面运行时将卡口字典表载入listbox信息。

  二、两个listbox,左边为待选,右边为已选,中间加两个按钮添加与删除。用户界面运行时将卡都字典表载入左边的listbox。

  三、多个Checkbox。可以在界面设计阶段直接做死字典表,即有几个卡口就话几个checkbox。或者在程序运行根据字典表绘制动态绘制checkbox。

  UI的优缺点这里不讨论,我这里选择第三种方式的动态绘制。

  在查询阶段根据所选卡口生成待选SQL字符串入:"01@02”

  并将此条件传回后台查询服务程序

  后台查询服务里只要待查SQL字符串作为参数传入查询的SQL语句中(sql片段): charindex(卡口编号,@待查字符串)。当然也可以手动生成SQL方式传入"charindex(卡口编号,'"+待查字符串+"')".


上一篇:SQL查询连续号码段实现实例 下一篇:最新插入数据记录获取的SQL语句

评论总数:0 [ 查看全部 ] 网友评论


关于我们隐私版权广告服务友情链接联系我们网站地图