Could you hire me? Contact me if you like what I’ve done in this article and think I can create value for your company with my skills.

December 21, 2006 / by Zsolt Soczó

String split SQL-ben, másodszor

Korábbi bejegyzésemben bemutattam egy agyament string splitet, tisztán sql lekérdezéssel megoldva. Én azért annyira nem iszonyodok a procedurális módszerektől, főleg, ha azok 100-szor átláthatóbb kódot eredményeznek, mint ama perverz példa. Én valahogy így spliteltem legutóbb egy feladat kapcsán:

declare @path nvarchar(2048)
set @path = ‘/alma/korte/barack’

declare @slash_pos int, @next_slash int
declare @path_component nvarchar(256)
declare @path_prepared nvarchar(2050)
set @slash_pos = 1

if (right(@path, 1) != ‘/’)
 set @path_prepared = @path + ‘/’
else
 set @path_prepared = @path

while(@slash_pos < len(@path)) begin  set @next_slash = charindex('/', @path_prepared, @slash_pos+1)  set @path_component = substring(@path_prepared, @slash_pos+1, @next_slash-@slash_pos-1)  set @slash_pos = @next_slash  print @path_component end Nekem ez ezerszer átláthatóbb, mint a táblás-hekkelős megoldás.

Could you hire me? Contact me if you like what I’ve done in this article and think I can create value for your company with my skills.