sql 查询的时候,将 “-”、“_" 、 ”.“ 、“ ”(空) 过滤掉,用正则表达式
select 正则表达式(栏位) from tablename
大家帮我看看,不了解正则。
不要 replace 的,因为还有其他的处理,用replace 就逾时。
------解决方案--------------------
用stuff
- SQL code
STUFF删除指定长度的字符并在指定的起始点插入另一组字符。语法STUFF ( character_expression , start , length , character_expression ) 参数character_expression由字符数据组成的表达式。character_expression 可以是常量、变量,也可以是字符或二进制数据的列。start是一个整形值,指定删除和插入的开始位置。如果 start 或 length 是负数,则返回空字符串。如果 start 比第一个 character_expression 长,则返回空字符串。length是一个整数,指定要删除的字符数。如果 length 比第一个 character_expression 长,则最多删除到最后一个 character_expression 中的最后一个字符。返回类型如果 character_expression 是一个支持的字符数据类型,则返回字符数据。如果 character_expression 是一个支持的 binary 数据类型,则返回二进制数据。注释可以嵌套字符串函数。
------解决方案--------------------
- SQL code
看这个例子:SELECT STUFF('a---bcdef', 2, 3, '')--结果abcdefGO
------解决方案--------------------
- SQL code
--模仿一下剪剪哥的 出自: http://blog.csdn.net/jinjazz/archive/2008/12/26/3613974.aspxdeclare @inStr varchar(800)set @inStr='2888123_23-.- 123'--测试语句declare @str varchar(800)set @str='var data = "[email protected]+'";var reCat = /[^1234567890]/gi;data.replace(reCat,"");'print @strdeclare @object int declare @r varchar(800)exec sp_OACreate 'MSScriptControl.ScriptControl',@object output exec sp_OASetProperty @object, 'Language','javascript' exec sp_OAMethod @object, 'eval', @r out,@str select @r