>source

컬럼 중 하나의 데이터가이 ALAN, DONALD [1234]처럼 보입니다.이 데이터를 이름 (ALAN, DONALD), ID (1234)와 같은 두 개의 열로 분할해야합니다. 다음 코드를 사용해 보았지만 이름은 알 수 없지만 ID를 얻을 수있었습니다

create table  #test(NAME_ID VARCHAR(50))
INSERT INTO  #TEST VALUES ('ALAN,DONALD [1234])' )
SELECT CAST (substring(NAME_ID,charindex('[',NAME_ID)+1,charindex(']',NAME_ID)-charindex('[',NAME_ID)-1) AS VARCHAR (102) ) AS MRN FROM #TEST

  • 답변 # 1

    괄호 색인을 기반으로 할 수 있습니다 :

    SELECT 
        RTRIM(SUBSTRING(NAME_ID, 0, CHARINDEX('[',NAME_ID))) AS Name,
        CAST (SUBSTRING(NAME_ID,CHARINDEX('[',NAME_ID)+1,CHARINDEX(']',NAME_ID)- 
        CHARINDEX('[',NAME_ID)-1) AS VARCHAR (102) ) AS MRN 
    FROM #TEST
    
    

관련 자료

  • 이전 r - dplyr에 SQL 쿼리를 제공하고 원격 tbl 객체를 반환하는 방법은 무엇입니까?
  • 다음 python - x 데이터의 위치에 따라 다양한 가우스 데이터 적합