How to get the 1st value before delimiter in sql server

y1aodyip  于 2023-04-19  发布在  SQL Server
关注(0)|答案(4)|浏览(129)

In one of the column i am getting 2 values with a delimiter between it How to extract both the values

I have some thing like this Column TRN02 is 115679-5757

I need to take values before delimiter and after delimter into 2 separate columns again.

Can some one help me on this

igetnqfo

igetnqfo1#

You can use SUBSTRING to do this:

SELECT 
    SUBSTRING(TRN02, 0, CHARINDEX('-', TRN02)) AS [First],
    SUBSTRING(TRN02, CHARINDEX('-', TRN02)  + 1, LEN(TRN02)) AS [Second]
FROM TABLE
q1qsirdb

q1qsirdb2#

Just another way USING LEFT and RIGHT -

SELECT LEFT(TRN02, CHARINDEX('-', TRN02) - 1) [before_delim],
       RIGHT(TRN02, LEN(TRN02) - CHARINDEX('-', TRN02)) [after_delim]
FROM your_table
ukxgm1gy

ukxgm1gy3#

SELECT LEFT(details, CHARINDEX ('-', TRN02 ) - 1),
       SUBSTRING(details, CHARINDEX ('-', TRN02 ) + 1, 100) 
  FROM Your_table
pxy2qtax

pxy2qtax4#

update df set df.column=s.[value] FROM table df 
cross APPLY string_split(REPLACE(column, 'split_parameter', '@') ,'@') s  
where column like '%split_parameter%'  and s.[value] not like '=%'

相关问题