sql server - Splitting contents of one sql column into 3 columns based on certain characters that always happen in the value -


i'm trying form sql query, using sql server 2014 without creating function. not have permissions on database create functions have query only.

i have column named test example value of:

accounting -> add missing functionality in payable -> saving blank missing row 

i want query return information (of varying length) between 2 arrows (->). have tried right, left, substring, charindex , patindex functions , various combinations of each.

basically query needs substring(test, charindex(' -> ', test) +3, <some length here>)

the length part i'm having hard time figuring out. need full length minus first part before , including first -> evaluates to:

add missing functionality in payable -> saving blank missing row   

from result, need remove after , including ->, leave me with:

add missing functionality in payable 

at end of day, want split 1 column 3 so:

domain     | feature                              | test ------------------------------------------------------------------------------ accounting | add missing functionality in payable | saving blank missing row 

can show me how query, without having write function? suggestions appreciated have been working on 1 portion of query better part of 4 hours now. thank in advance help. have great day!!

i tried following query , woking fine me:

declare @x varchar(1000)   set @x = 'accounting -> add missing functionality in payable -> saving blank missing row'  select substring(@x,1,charindex('->',@x) - 1) domain, substring(@x,charindex('->',@x)  + 2,len(substring(@x,charindex('->',@x)  + 2,len(@x))) - len(substring(@x,len(@x) - charindex('>-',reverse(@x))  ,len(@x))))  feature, substring(@x,len(@x) - charindex('>-',reverse(@x)) + 2 ,len(@x)) test 

you have use query:

select substring([test],1,charindex('->',[test]) - 1) domain, substring([test],charindex('->',[test])  + 2,len(substring([test],charindex('->',[test])  + 2,len([test]))) - len(substring([test],len([test]) - charindex('>-',reverse([test]))  ,len([test]))))  feature, substring([test],len([test]) - charindex('>-',reverse([test])) + 2 ,len([test])) test mytable  --replace mytable table name 

Comments

Popular posts from this blog

php - How to display all orders for a single product showing the most recent first? Woocommerce -

asp.net - How to correctly use QUERY_STRING in ISAPI rewrite? -

angularjs - How restrict admin panel using in backend laravel and admin panel on angular? -