如何在sql server中的分隔符之前获取第一个值

时间:2013-10-23 16:18:24

标签: sql-server

在其中一个列中,我得到2个值,它之间有分隔符 如何提取两个值

我有一些像这样的列TRN02115679-5757

我需要在分隔符之前和分隔符之后将值再次分成2个单独的列。

有人能帮助我吗

3 个答案:

答案 0 :(得分:16)

您可以使用SUBSTRING执行此操作:

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

答案 1 :(得分:3)

另一种方式使用LEFTRIGHT -

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

答案 2 :(得分:0)

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