도움이 필요합니다. SQL 구문 문자열의 여러 부분을 추출하고 싶습니다. 예. . 내가 문자열의 예를 가지고 :SQL 문자열의 다중 부분을 선택하십시오!
UPDATE table SET **XXX** = '1', **YYY** = 2 WHERE ID = 24125;
그래서, 나는 일반적으로 굵은 ('XXX'및 'YYY'에서이 값을 추출 할을, 컬럼의 이름은 UPDATE 문을 통해 변경 다음은
. 예 한 부분을 선택, 문자열 기능을 사용하지만, 내 경우에는 내가 여러 부분이 필요합니다
문 다음 SUBSTRING (문, NULLIF은 (CHARINDEX ('SET' '% 업데이트 %', 문) 등을 0) + LEN ('SET') + 1, NULLIF (CHARINDEX ('=', statement), 0) - (NULLIF (CHARINDEX ('SET', statement), 0) + L EN ('SET') +1))
고마워요!
적어도 하나 이상의 UPDATE 문에서 열 이름을 추출해야합니다. T-SQL 및 하위 문자열 함수를 사용했지만 여러 부분을 사용할 수 없습니다. 다음은 '% UPDATE %'와 같은 문을 예로 들었습니다. SUBSTRING (문, NULLIF (CHARINDEX ('SET', 문), 0) + LEN ('SET') +1, NULLIF (CHARINDEX (' = ', statement), 0) - (NULLIF (CHARINDEX ('SET ', statement), 0) + LEN ('SET ') + 1)) – asterix55
전혀 어렵지 않을 것입니다. TSQL에서. 왜 당신은 요구 사항을 가지고 있습니까? (당신이하려고하는 것은 무엇이든 할 수있는 다른 방법이있을 수 있습니다). 그리고이 진술은 처음부터 어디에서 왔습니까? –
그것은 사용자가 수행 한 일반적인 UPDATE 쿼리입니다. 따라서 업데이트 된 항목을 가져와야합니다. 이 경우 "SET"와 "="사이 및 ","과 "="사이에서 값을 추출해야합니다. – asterix55