How to Split advance string in SQL


DECLARE @PureParameter varchar(Max)='Data_$dId=16910797389658|oId=2|fId=1054|iTy=14|'

DECLARE @dId  varchar(Max)

DECLARE @oId  varchar(Max)

DECLARE @fId  varchar(Max)

DECLARE @iTy  varchar(Max)

--------@dId SETUP------------

SELECT @dId=LEFT(@PureParameter,CHARINDEX('|',@PureParameter))--GET FIRST PIPE PART

SELECT @PureParameter=REPLACE(@PureParameter,@dId,'')--REMOVE FIRST PIPE PART

PRINT '@dId='+@dId

SELECT @dId=REPLACE(@dId,'Data_$dId=','')---GET ID(REMOVE Data_$dId=)

SELECT @dId=REPLACE(@dId,'|','')---GET ID(REMOVE |)

PRINT '@dId='+@dId



-------@oId SETUP------------

SELECT @oId=LEFT(@PureParameter,CHARINDEX('|',@PureParameter))--GET SECOND PIPE PART

SELECT @PureParameter=REPLACE(@PureParameter,@oId,'')--REMOVE SECOND PIPE PART

PRINT '@oId='+@oId

SELECT @oId=REPLACE(@oId,'oId=','')---GET @oId(REMOVE oId=)

SELECT @oId=REPLACE(@oId,'|','')---GET @oId(REMOVE |)

PRINT '@oId='+@oId



-------@fId SETUP------------

SELECT @fId=LEFT(@PureParameter,CHARINDEX('|',@PureParameter))--GET THIRD PIPE PART

SELECT @PureParameter=REPLACE(@PureParameter,@fId,'')--REMOVE THIRD PIPE PART

PRINT '@fId='+@fId

SELECT @fId=REPLACE(@fId,'fId=','')---GET @@fId(REMOVE oId=)

SELECT @fId=REPLACE(@fId,'|','')---GET @@fId(REMOVE |)

PRINT '@fId='+@fId



-------@iTy SETUP------------

SELECT @iTy=RIGHT(@PureParameter,CHARINDEX('|',@PureParameter))--GET THIRD PIPE PART

SELECT @PureParameter=REPLACE(@PureParameter,@iTy,'')--REMOVE THIRD PIPE PART

PRINT '@iTy='+@iTy

SELECT @iTy=REPLACE(@iTy,'iTy=','')---GET @@fId(REMOVE oId=)

SELECT @iTy=REPLACE(@iTy,'|','')---GET @@fId(REMOVE |)

PRINT '@iTy='+@iTy





SELECT @oId

SELECT @iTy

SELECT @PureParameter



we use LEFT function and CHARINDEX function to split word.what i did above example is split   @PureParameter parameter using first pipe symbol and get that split string into another variable called @dId(in first part) and relapsed   @PureParameter using @dId variable finally remove pipe (|) symbol from   @dId.

Comments

Popular Posts