Maison >développement back-end >C++ >Comment supprimer les caractères inattendus des colonnes VARCHAR de SQL Server ?
Résolution des caractères inattendus dans les colonnes VARCHAR de SQL Server
Cet article aborde le problème courant des caractères indésirables apparaissant dans les colonnes VARCHAR de SQL Server, provenant souvent d'importations CSV. Nous explorerons des solutions au niveau de la base de données et des applications C#, ainsi que des mesures préventives pour la source CSV.
Solution de base de données utilisant SQL CLR
Les fonctions intégrées de SQL Server ne disposent pas de capacités d'expression régulière robustes. Cependant, en tirant parti de SQL CLR (Common Language Runtime), nous pouvons intégrer la puissance de la classe Regex
de .NET. Une fonction SQL CLR, Replace
, peut être créée dans Visual Studio :
<code class="language-csharp">public static SqlString Replace(SqlString sqlInput, SqlString sqlPattern, SqlString sqlReplacement) { string input = (sqlInput.IsNull) ? string.Empty : sqlInput.Value; string pattern = (sqlPattern.IsNull) ? string.Empty : sqlPattern.Value; string replacement = (sqlReplacement.IsNull) ? string.Empty : sqlReplacement.Value; return new SqlString(Regex.Replace(input, pattern, replacement)); }</code>
Cette fonction vous permet d'utiliser des expressions régulières directement au sein de vos requêtes SQL pour supprimer les caractères indésirables.
Solution applicative C#
Alternativement, le nettoyage des caractères peut être géré dans votre application C# à l'aide de la fonctionnalité d'expression régulière de .NET :
<code class="language-csharp">Regex.Replace(s, @"[^\u0000-\u007F]", string.Empty);</code>
Cet extrait de code supprime tous les caractères en dehors de la plage ASCII de base.
Prévenir le problème à la source CSV
Des mesures proactives au niveau de la source de données CSV sont cruciales pour éviter que ce problème ne se reproduise. Considérez ces étapes :
En mettant en œuvre ces solutions et mesures préventives, vous pouvez gérer et éliminer efficacement les caractères indésirables de vos colonnes VARCHAR SQL Server.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!