SQL Server varchar 열에서 원하지 않는 문자 제거
외부 소스에서 가져온 데이터에는 SQL Server varchar 열에서 제거해야 하는 예상치 못한 문자나 비표준 문자가 포함되어 있는 경우가 많습니다. 이 문서에서는 C# 및 SQL CLR 함수를 모두 사용하여 이 문제를 해결하는 방법을 보여줍니다.
정규 표현식을 사용한 C# 솔루션
.NET의 정규식 엔진은 이를 처리하는 강력한 방법을 제공합니다. 다음 C# 코드는 Regex.Replace
을 사용하여 인쇄할 수 없는 문자를 제거합니다.
<code class="language-csharp">Regex.Replace(inputString, @"[^\u0000-\u007F]", string.Empty);</code>
기능 강화를 위한 SQL CLR 기능
SQL Server에는 기본 정규식 지원이 없기 때문에 SQL CLR 함수를 만들면 기능이 확장됩니다. 아래 예제 StackOverflowRegexReplace
는 정규식 대체를 수행합니다.
<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>
이 기능을 활용하려면:
StackOverflow.dll
어셈블리로 컴파일합니다.CREATE ASSEMBLY
을 사용하여 SQL Server 데이터베이스 내에 어셈블리를 등록합니다.CREATE FUNCTION
을 사용하여 SQL CLR 함수를 만듭니다.사용 예:
<code class="language-sql">SELECT [dbo].[StackOverflowRegexReplace] ('Hello Kitty Essential Accessory Kit', '[^\u0000-\u007F]', '') -- Result: Hello Kitty Essential Accessory Kit</code>
이러한 방법은 SQL Server varchar 열에서 비표준 문자를 효과적으로 정리하여 데이터 무결성을 향상하고 잠재적인 문제를 예방합니다.
위 내용은 C# 및 SQL CLR을 사용하여 SQL Server varchar 열에서 이상한 문자를 정리하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!