0
데이터를 쿼리하는 데 특히 골치 아픈 xml 열이 있습니다.xml 열에서 하나의 값 선택
with XMLNAMESPACES(default 'http://www.mrq.gouv.qc.ca/T5')
select xmldata.value('(//Groupe02/*/Montants/B_PrestREER_FERR_RPDB)[1]', 'decimal(16,2)');
이 Groupe02와 Montants 사이의 와일드 카드 중 하나가 될 수 :
이쿼리의 중요한 부분은 다음과 같습니다 "그것이 무엇이다"그래서 스키마는 수익의 퀘벡 정부에 의해 고정되어 ADR 또는 T. (즉, 한 문자 요소 이름)
T 노드가 아닌 A, D 또는 R 노드 만 쿼리하면 문제가 발생합니다. 첫 번째 추측으로 내가 시도 :
with XMLNAMESPACES(default 'http://www.mrq.gouv.qc.ca/T5')
select @x.value('(//Groupe02/A|D|R/Montants/B_PrestREER_FERR_RPDB)[1]', 'decimal(16,2)');
을하지만이 오류로 인해 실패 이러한 쿼리가 만들 수 있습니다 가능한 다른 어떤 방법
의 "XQuery를 구문 '노동 조합'은 지원되지 않습니다."
은 정말 좋은 생각입니다! :-) –
브릴리언트 --- local-name()은 사용할 함수라고 할 수 있습니다. –