时间:2021-05-28
今天在日常维护一个网站时,发现该网站的留言程序没有经过严格的验证过滤,导致了将近十万条垃圾数据。而其中又不乏重要信息,需要清理数据,以及增加更为严格的验证措施。
而通过在数据库中直接删除又不太科学,会误删很多重要信息。
通过 模糊查询语句:
复制代码 代码如下:
select * from Feedback where Comments like '%http%'
结果:“内存溢出”
经过不断的搜索,找出了问题的主要原因:
asp 中用 LIKE 关键字查询日文符号就会出错,比如说Chr(-23075),提示内存溢出。
如果数据表中的数据包含日文或者一些特殊非简体汉字符号,也会出现内存溢出的错误。
而网上说,上述问题已经得到微软动力营的微软工程师确认,为产品的 BUG,无法解决。唯一的办法就是将整个数据库中的数据编码为ANSI 文本格式,然后保存。显示的时候再DECODE。
无解,只有按上面所说,进行字段转换保存到另外一个新字段中,然后再进行清理操作。面对这个超标数据真是困难。
EncodeString 函数进行字符转义
复制代码 代码如下:
Function EncodeString(strWords)
Dim i As Long
Dim strEncodeWords
For i = 1 To Len(strWords)
strEncodeWords = strEncodeWords & CStr(Asc(Mid(strWords, i, 1))) & ","
Next
EncodeString = strEncodeWords
End Function
这样经过转义后,在模糊搜索时,将关键字进行转义一下
复制代码 代码如下:
delete * from Feedback where Comments_new like '%&EncodeString("http")&%'
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
在数据查询的时候,有完整查询和模糊查询之分.在Access和SQLServer中使用模糊查询有一下几种查询:1.用_通配符查询"_"号表示任意单个字符,该字符号
请问,如何在ACCESS数据库和SQLSERVER数据库中查询?我们可用下述方法来实现:一、在ACCESS数据库中: "SELECT*FROMyourTable
本文实例讲述了js中style.display=""无效的解决方法。分享给大家供大家参考。具体解决方法如下:一、问题描述:在js中我们有时想动态的控制一个div
前言在日常使用的Mongodb中,有一项功能叫做模糊查询(使用正则匹配),例如:db.article.find({"title":{$regex:/a/,$op
模糊查询:@Select({"SELECT*FROMaccountwhereaccountlikeCONCAT('%',#{query},'%')oremail