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函数,就可以轻松解决安全问题。


数据运维技术 » MSSQL字段:如何处理带特殊符号的字段(mssql字段有特殊字符)