Zdravím, chcem sa opýtať či existuje funkcia, ktorá by robila niečo takéto:
declare @Riadok nvarchar(max) = 'L XXXX.XX YYYYYYYY.YY Z=ZZZ'
declare @L nvarchar(10)
declare @X nvarchar(50)
declare @Y nvarchar(50)
declare @Z nvarchar(50)
declare @TAB int = charindex(' ', @Riadok)
declare @Riadok1 nvarchar(100) = Ltrim(substring(@Riadok,@TAB,len(@Riadok)))
declare @TAB1 int = charindex(' ', @Riadok1)
declare @Riadok2 nvarchar(100) = Ltrim(substring(@Riadok1,@TAB1,len(@Riadok1)))
declare @TAB2 int = charindex(' ', @Riadok2)
select
@Riadok = @Riadok,
@L = substring(@Riadok, 0, @TAB),
@X = substring(@Riadok1, 0 , @TAB1),
@Y = case when @TAB2 <>0 then substring(@Riadok2, 1,@TAB2) else substring(@Riadok2,1,len(@Riadok2))end,
@Z = case when @TAB2 <>0 then substring(@Riadok2, @TAB2+1, len(@Riadok2)) else ''end
select
'Riadok' = @Riadok,
'L' = @L,
'X' = @X,
'Y' = @Y,
'Z' = @Z
ale pre neznámi počet oddelovačov ( ja som si zvolil za oddelovač jednotlivých údajov v riadku medzeru). Ďakujem
|