1
내가 저장 프로 시저에서 다음과 같은 출력을 가지고 있고 나는 그것을 자신의 행에 숫자와 알파 사이에서 전환 Valueasstring을 분할하고 두 값을 업데이트하도록 노력하고있어 :분할 값
Acct Valuetypename Valueasstring EffectiveDate
123 Accepted 150ABC 8/15/2017
234 Accepted 500DF 10/17/2017
345 Accepted 1000ABC 10/17/2017
456 Accepted 25PV 10/3/2017
567 Accepted 100PV 8/15/2017
XML을 사용하는 쉼표와 같이 설정된 문자로 분리하려고 시도했지만 유형 변경시이를 수행하는 방법에 집착했습니다. XML을 사용하도록 설정하지 않았습니다. 내가 달성하기 위해 노력하고있어
Select a.Acct, a.Valuetypename, b.Valueasstring as ValueAsString, a.EffectiveDate
FROM
(
SELECT *,
CAST('<X>'+replace(T.Valueasstring,',','</X><X>')+'</X>' as XML) as my_Xml
FROM MyTable T
) a
CROSS APPLY
(
SELECT my_Data.D.value('.','varchar(50)') as Valueasstring
FROM a.my_Xml.nodes('X') as my_Data(D)
) b
여러 행, valuetypename
1 (예)로 변경 알파 값과 Valueasstring로 변경되었습니다.
Acct Valuetypename Valueasstring EffectiveDate
123 ABC 1 8/15/2017
123 Accepted 150 8/15/2017
234 DF 1 10/17/2017
234 Accepted 500 10/17/2017
345 ABC 1 10/17/2017
345 Accepted 1000 10/17/2017
456 PV 1 10/3/2017
456 Accepted 25 10/3/2017
567 PV 1 8/15/2017
567 Accepted 100 8/15/2017
집합 문자를 구분하는 방법은 쉼표로만 찾을 수 있습니다. 하지만 제 경우에는 설정 된 문자가 없으며 알파에서 숫자로 또는 그 반대로 전환 할 수있는 공간도 없습니다.