SQL Server 2008 R2 - How to split my varchar column string and get 3rd index string

user3171957

I have a record in a single column.Like below

Address
Arulraj   | Guindy   | Chennai | TamilNaadu | India | 600042 |  | 10000001 
Adaiakalm | Chenanai | Chennai | TamilNaadu | India | 600042 |  | 10000001 

How to get the splitted string "TamilNaadu", "Chennai ","India " separately.

Spock

Here's a function that will split a string inline....

CREATE FUNCTION [dbo].[FN_SPLIT] ( --SELECT DBO.FN_SPLIT('TEST1 , TEST2', 2, ',')
    @s varchar(512),
    @i int,
    @sep char(1) = ',')
RETURNS varchar(512)
AS
BEGIN
    DECLARE @Ret    VARCHAR(512);

    WITH Pieces(pn, start, stop) AS (
      SELECT 1, 1, CHARINDEX(@sep, @s)
      UNION ALL
      SELECT pn + 1, stop + 1, CHARINDEX(@sep, @s, stop + 1)
      FROM Pieces
      WHERE stop > 0
    )
    SELECT @Ret =
    RTRIM(SUBSTRING(@s, start, CASE WHEN stop > 0 THEN stop-start ELSE 512 END))
    FROM Pieces
    WHERE pn = @i

    RETURN @Ret;
END

USAGE : SELECT DBO.FN_SPLIT('Address Arulraj | Guindy| Chennai | TamilNaadu | India | 600042 | | 10000001 ', 3, '|')

RETURNS : Chennai

Here's a table valued function that will return a table of values

CREATE FUNCTION [dbo].[FN_SPLIT_TBL](@InExp varchar(8000), @Sep varchar(10)) --SELECT * FROM DBO.[FN_SPLIT_TBL]('TEST1,TEST2', ',')
RETURNS @Res    TABLE(
    Pos         int,
    Value       varchar(max))
AS
BEGIN
    WITH Pieces(pn, start, stop) AS (
        SELECT 1, 1, CHARINDEX(@Sep, @InExp)
        UNION ALL
        SELECT pn + 1, stop + 1, CHARINDEX(@sep, @InExp, stop + 1)
        FROM Pieces
        WHERE stop > 0
    )

    INSERT INTO @Res
    SELECT pn, SUBSTRING(@InExp, start, CASE WHEN stop > 0 THEN stop-start ELSE 512 END) AS s
    FROM Pieces OPTION (MAXRECURSION 0);

    RETURN;
END

USAGE : SELECT *
FROM DBO.FN_SPLIT_TBL('Address Arulraj | Guindy| Chennai | TamilNaadu | India | 600042 | | 10000001 ', '|')
--WHERE Pos = 3 -- Uncomment this to only return index 3

RETURNS :

Pos Value
1   Address Arulraj 
2    Guindy
3    Chennai 
4    TamilNaadu 
5    India 
6    600042 
7    
8    10000001 

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

SQL Server 2008 R2와 SQL Server 2008 R2 SP3 간의 양방향 복제

분류에서Dev

how to split a xml format data into row column format in sql server 2008 using stored procedure

분류에서Dev

How to check if SQL Server 2008 R2 database exists using power shell

분류에서Dev

How to split a column with contains a string

분류에서Dev

SQL Server 2008 R2 용 Try_Convert

분류에서Dev

Unable to find storage option in SQL Server 2008 R2

분류에서Dev

SQL Server 2008 R2: Pivot table

분류에서Dev

Not able to connect sql server 2008 r2 with java

분류에서Dev

SQL Server Job history 2008 R2

분류에서Dev

SQL Server 작업 기록 2008 R2

분류에서Dev

SQL Server Job history 2008 R2

분류에서Dev

SQL Server 2008 R2 : 쿼리 튜닝

분류에서Dev

SQL Server 2008 R2 : 재귀 쿼리

분류에서Dev

SQL Server 2008 R2 누적 합계

분류에서Dev

How to insert & update the same inserted multiple record in SQL Server 2008 R2 using multithread in windows service(C#)?

분류에서Dev

2008 R2에서 SQL Server 2008 백업 만들기

분류에서Dev

Does JOOQ Support SQL Server 2005 or SQL Server 2008 R2 in Code Generator?

분류에서Dev

Can my Intel Atom run windows server 2008 R2

분류에서Dev

SQL Server 2008 R2 테이블에서 datetime 열 선택

분류에서Dev

Extremely Slow Query which contains multiple Sub-Queries SQL Server 2008 R2

분류에서Dev

SQL Server 2008 R2 - Running a Stored Procedure against Linked Servers

분류에서Dev

특정 시점 SQL SERVER 2008 R2로 DB 복원

분류에서Dev

휴일에 SQL Server 2008 R2 작업 일정 변경

분류에서Dev

CASE 문으로 선택 SQL Server 2008 R2

분류에서Dev

이스케이프 문자 SQL Server 2008 R2 [%]

분류에서Dev

SQL Server 2008 R2 연결 문자열 오류

분류에서Dev

CTE 쿼리 최적화로 개선 SQL Server 2008 R2

분류에서Dev

내 현재 MS SQL Server 2008 r2에 ssis 설치

분류에서Dev

SQL SERVER 2008 R2에서 2007 파일 가져 오기

Related 관련 기사

  1. 1

    SQL Server 2008 R2와 SQL Server 2008 R2 SP3 간의 양방향 복제

  2. 2

    how to split a xml format data into row column format in sql server 2008 using stored procedure

  3. 3

    How to check if SQL Server 2008 R2 database exists using power shell

  4. 4

    How to split a column with contains a string

  5. 5

    SQL Server 2008 R2 용 Try_Convert

  6. 6

    Unable to find storage option in SQL Server 2008 R2

  7. 7

    SQL Server 2008 R2: Pivot table

  8. 8

    Not able to connect sql server 2008 r2 with java

  9. 9

    SQL Server Job history 2008 R2

  10. 10

    SQL Server 작업 기록 2008 R2

  11. 11

    SQL Server Job history 2008 R2

  12. 12

    SQL Server 2008 R2 : 쿼리 튜닝

  13. 13

    SQL Server 2008 R2 : 재귀 쿼리

  14. 14

    SQL Server 2008 R2 누적 합계

  15. 15

    How to insert & update the same inserted multiple record in SQL Server 2008 R2 using multithread in windows service(C#)?

  16. 16

    2008 R2에서 SQL Server 2008 백업 만들기

  17. 17

    Does JOOQ Support SQL Server 2005 or SQL Server 2008 R2 in Code Generator?

  18. 18

    Can my Intel Atom run windows server 2008 R2

  19. 19

    SQL Server 2008 R2 테이블에서 datetime 열 선택

  20. 20

    Extremely Slow Query which contains multiple Sub-Queries SQL Server 2008 R2

  21. 21

    SQL Server 2008 R2 - Running a Stored Procedure against Linked Servers

  22. 22

    특정 시점 SQL SERVER 2008 R2로 DB 복원

  23. 23

    휴일에 SQL Server 2008 R2 작업 일정 변경

  24. 24

    CASE 문으로 선택 SQL Server 2008 R2

  25. 25

    이스케이프 문자 SQL Server 2008 R2 [%]

  26. 26

    SQL Server 2008 R2 연결 문자열 오류

  27. 27

    CTE 쿼리 최적화로 개선 SQL Server 2008 R2

  28. 28

    내 현재 MS SQL Server 2008 r2에 ssis 설치

  29. 29

    SQL SERVER 2008 R2에서 2007 파일 가져 오기

뜨겁다태그

보관