Regular Expresion in T-SQL
-
Hi,
In mySQL habe ich schon immerexpr REGEXP expr
benutzt. Nun versuche das gleiche für T-SQL zu finden.
Gibt es keine Regular Expresion in T-SQL?
-
Sagen Sie euch bei Global Failing nicht, dass man solcherlei Fragen mit Google beantwortet?
MfG SideWinder
-
Google sagt nur, dass man irgendeine CLI Funktion nehmen soll.
Sag mal, Side, wieso diese Verunglimpfungen. Niemand zwingt dich zu irgendwas. Ich habe nur nach Regular Expresions in T-SQL gefragt, weil ich in der MSDN diesen Ausdruck wie in mySQL nicht finde.
-
http://www.sqlteam.com/article/regular-expressions-in-t-sql
DEvent schrieb:
Niemand zwingt dich zu irgendwas.
Korrekt. Ich sage das aus freien Stücken.
MfG SideWinder
-
Also ich glaube ich habe unter google und dem stichwort "expr REGEXP expr T-SQL"
diesen link gefunden...:http://www.simple-talk.com/sql/t-sql-programming/tsql-regular-expression-workbench/weiß bicht ob dass das richtige ist, weil ich mich nicht damit auseinandergesetzt habe aber es sieht schonmal vielversprechend aus...
-
@SideWinder: WTF?
@DEvent: Ich habe NICHT gegoogelt, und ich weiss auch nicht ob es nicht vielleicht 100x einfacher geht, aber du kannst im SQL Server auf jeden Fall die .NET Integration aktivieren, und dann einfach ne User-Defined-Function in z.B. C# schreiben. Da drin kannst du dann die ganz normalen C# Regex Klassen verwenden.
Wirf einfach das Studio an, und erzeug ein neues Projekt und wähl das entsprechende Template aus (Visual C#, Database, SQL Server Project). Dann einfach "Add -> User-Defined Function...", "Add -> User-Defined Type..." etc.
Mit einem User-Defined Type müsste es IMO auch gehen, eine Regex nur 1x zu compilieren, und dann gegen ein ganzes Rowset laufen zu lassen. Was von der Performance her sehr interessant wäre. Sonst musst du in der User-Defined-Function die Regex dauernd neu compilieren, für jeden einzelnen Aufruf.
-
SideWinder schrieb:
Genau das habe ich mit Google gefunden, danke
Gibt es einen Grund wieso T-SQL keinexpr REGEXP expr
hat?
-
DEvent schrieb:
Gibt es einen Grund wieso T-SQL kein
expr REGEXP expr
hat?Offiziell glaube ich gibt es da keinen Grund. Mit LIKE können wohl die meisten umgehen, wer unbedingt RegularExpressions haben will kann sich ja abhelfen, bspw. auch über: http://justgeeks.blogspot.com/2008/08/adding-regular-expressions-regex-to-sql.html Falls dir diese Form der Beschränkung auf eine DB nichts ausmacht.
Ist leider nervig
MfG SideWinder