从品牌网站建设到网络营销策划,从策略到执行的一站式服务
MySQL——使用正则表达式查询
成都创新互联公司-专业网站定制、快速模板网站建设、高性价比乌什网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式乌什网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖乌什地区。费用合理售后完善,10年实体公司更值得信赖。
如果你会正则表达式的话,可以用正则表达式来过滤。
如果需要筛选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
要注意的是:mysql字符串函数 find_in_set(str1,str2)函数是返回str2中str1所在的位置索引,str2必须以","分割开。用模糊查询,下述为转载:“SELECT column FROM table WHERE column LIKE ';pattern';”。1. % 表示任意0个或多个字符。如下语句:将会把name为“张三”,“三脚猫”,“唐三藏”等等有“三”的全找出来;2. _ 表示任意单个字符。语句:3. [ ] 表示括号内所列字符中的一个(类似与正则表达式)。语句:4. [^ ] 表示不在括号所列之内的单个字符。语句:将排除“老1”到“老4”寻找“老5”、“老6”、……、“老9”。由于通配符的缘故,导致我们查询特殊字符“%”、“_”、“[”、“';”的语句无法正常实现,而把特殊字符用“[ ]”括起便可正常查询。据此我们写出以下函数:关联UID,你根据你的情况做关联即可。
可以参考下列例子,将字段1中含有的字符串'aaa'替换为'bbb'
update t1 set col1=replace(col1,'aaa','bbb');
成都网站建设公司地址:成都市青羊区太升南路288号锦天国际A座10层 建设咨询028-86922220
成都快上网科技有限公司-四川网站建设设计公司 | 蜀ICP备19037934号 Copyright 2020,ALL Rights Reserved cdkjz.cn | 成都网站建设 | © Copyright 2020版权所有.
专家团队为您提供成都网站建设,成都网站设计,成都品牌网站设计,成都营销型网站制作等服务,成都建网站就找快上网! | 成都网站建设哪家好? | 网站建设地图