Żona zadała mi pytanie w związku z rozwijanym w firmie systemem pisanym w C# i opartym o SQL Server: jakimi sposobami z ciągu znaków np. „kkk/384/d3/a/332” można wyciągnąć liczby po ostatnim znaku „/”?
Do głowy przychodzą mi dwa rozwiązania:
- wyszukać ostatnie pojawienie się znaku „/” i odpowiednio wyciąć string
- zastosować wyrażenie regularne do znalezienia cyfr na końcu ciągu
W przypadku SQL Servera nie ma wbudowanych bibliotek do wyrażeń regularnych. Można napisać własne funkcje wykorzystujące SQLCLR (dla wersji 2005 i 2008) lub OLE (dla wersji 2000) lub skorzystać z istniejących zewnętrznych bibliotek dll (np. xp_pcre). W tym konkretnym przypadku można jednak osiągnąć zamierzony wynik żonglując standardowymi funkcjami T-SQL. Czytaj dalej