MSSQL字段:如何处理带特殊符号的字段(mssql字段有特殊字符)
MSSQL字段:如何处理带特殊符号的字段
MSSQL字段中有可能包含特殊字符如’&’,”等,这些特殊字符会产生不良影响,比如SQL注入攻击,或者其他的安全问题,因此,我们应该很小心的对待它们,合理的处理掉这些特殊符号。
处理这些特殊字符,最简单的方法是用 MSSQL 的 Replace 函数,示例代码如下:
//把’&’,”字符替换为‘,’
select REPLACE(FieldValue, ‘&, ‘, ‘,’) from TABLE_NAME
//把’&’,”字符替换为空
select REPLACE(FieldValue, ‘&, ‘, ”) from TABLE_NAME
但是有时我们还需要一些特殊处理,比如我们想在文本前后加上引号,或者是多个字段值用逗号连接起来,这时候就需要使用PatIndex函数和Stuff函数,示例代码如下:
//把’&’,”字符替换为‘”,’
select Stuff(FieldValue, PatIndex(‘%[&|]%’, FieldValue) ,1, ‘,”‘) from TABLE_NAME
//把多个字段值替换为一个字段值
select Stuff(( select FieldValue +’,’ from TABLE_NAME FOR XML PATH(”)),
PatIndex(‘%[&|]%’,( select FieldValue +’,’ from TABLE_NAME FOR XML PATH(”))) ,1, ”)
以上就是如何处理MSSQL字段中带特殊符号的字段的方法,其实很简单,只要掌握 Replace 函数、PatIndex函数、Stuff函数,就可以轻松解决安全问题。