如何筛选SQL字符串字段中部分值
如果需要筛选SQL字符串字段中部分值 应该怎么做呢?下面就教您筛选SQL字符串字段中部分值的记录的方法 供您参考
例如有一个KKBH(卡口编号)字段 这是一个字典字段(对应另一个实体表(卡口表)的编号字段) 这个字段的值保存所属卡口值域{ }
本来想到的是通过or来实现 这样需要动态生成SQL语句
后来想到一个办法用charindex搜索SQL字符串的办法 将所有的要查的卡口编号组成类似 @ 这样待查字符串 sql查询时通过charindex筛选出在待查SQL字符串里有的KKBH的记录
经测试使用or与使用charindex 两者在MSSQL中执行效率差不多
具体实现
用户界面查询需求 可能搜索N个卡口的记录(N的值域{ 所有卡口个数}) 设计这个UI的形式一共三种
一 一个多选listbox 用户界面运行时将卡口字典表载入listbox信息
二 两个listbox 左边为待选 右边为已选 中间加两个按钮添加与删除 用户界面运行时将卡都字典表载入左边的listbox
三 多个Checkbox 可以在界面设计阶段直接做死字典表 即有几个卡口就话几个checkbox 或者在程序运行根据字典表绘制动态绘制checkbox
UI的优缺点这里不讨论 我这里选择第三种方式的动态绘制
在查询阶段根据所选卡口生成待选SQL字符串入 " @ ”
并将此条件传回后台查询服务程序
lishixinzhi/Article/program/MySQL/201311/29554