TSQL-Ersetzen Sie alle nicht-a-z/A-Z Zeichen mit einem leeren string
Ich würde gerne ein Feld, und ersetzen Sie alle Zeichen, die nicht zwischen a-z und A-Z mit "".
Ist das möglich, und wenn ja, wie?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Könnten Sie eine
CLR
gespeicherte Prozedur zu tun, die dem regulären Ausdruck ersetzen. Hier ist ein Artikel über das Thema:http://weblogs.sqlteam.com/jeffs/archive/2007/04/27/SQL-2005-Regular-Expression-Replace.aspx
Dann könnte man etwas wie das hier tun:
BEARBEITEN:
Da
CLR
eine option nicht, check out diese link, es ist eindbo.RegexReplace
Funktion gibt, die in t-sql geschriebenen, nicht der CLR. Könnten Sie die Funktion in der folgenden Weise:Ersten, die Sie ausführen müssen, um dies zu ermöglichen, Ole:
Erstellen Sie dann die
dbo.RegexReplace
Funktion erhalten Sie unter dem link, den ich zur Verfügung gestellt.Dann können Sie dies tun:
Könnten Sie versuchen, erstellen einer UDF (user defined function), und dann verwenden Sie es in Ihren Abfragen:
Führen Sie dann eine Abfrage wie:
Scheint es auch das es kann mehr native Unterstützung in späteren Versionen von SQL Server werden sicherlich 2008 R2, durch den mdq.RegexMatches-Funktion (Bestandteil von Master Data Services).
http://msdn.microsoft.com/en-us/library/ee633829(SQL.105).aspx