문서를 영문으로 보려면 영문 확인란을 선택하세요. 마우스 포인터를 텍스트 위로 이동시켜 팝업 창에서 영문 텍스트를 표시할 수도 있습니다.
번역
영문

local-name 함수(XQuery)

$arg 이름의 로컬 부분을 길이가 0인 문자열이나 어휘 형식이 xs:NCName인 xs:string으로 반환합니다. 인수를 제공하지 않으면 기본값은 컨텍스트 노드입니다.

fn:local-name() as xs:string
fn:local-name($arg as node()?) as xs:string

$arg

로컬 이름 부분이 검색될 노드 이름입니다.

  • SQL Server에서 인수가 없는 fn:local-name()은 상황별 조건자의 컨텍스트에서만 사용할 수 있습니다. 특히 사용 시 대괄호([ ])로 묶어야 합니다.

  • 인수가 제공되었지만 빈 시퀀스인 경우 함수는 길이가 0인 문자열을 반환합니다.

  • 대상 노드가 문서 노드이거나 설명이거나 텍스트 노드이기 때문에 대상 노드의 이름이 없는 경우 함수는 길이가 0인 문자열을 반환합니다.

이 항목에서는 AdventureWorks 데이터베이스의 다양한 xml 유형 열에 저장된 XML 인스턴스에 대한 XQuery 예를 제공합니다.

1.특정 노드의 로컬 이름 검색

다음은 형식화되지 않은 XML 인스턴스에 대해 지정된 쿼리입니다. local-name(/ROOT[1]) 쿼리 식은 지정한 노드의 로컬 이름 부분을 검색합니다.

declare @x xml
set @x='<ROOT><a>111</a></ROOT>'
SELECT @x.query('local-name(/ROOT[1])')
-- result = ROOT

다음은 ProductModel 테이블의 형식화된 xml 열인 Instructions 열에 대해 지정된 쿼리입니다. local-name(/AWMI:root[1]/AWMI:Location[1]) 식은 지정된 노드의 로컬 이름 Location을 반환합니다.

SELECT Instructions.query('
declare namespace AWMI="http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/ProductModelManuInstructions" ;
     local-name(/AWMI:root[1]/AWMI:Location[1])') as Result
FROM Production.ProductModel
WHERE ProductModelID=7
-- result = Location

2.조건자에서 인수가 없는 로컬 이름 사용

다음은 ProductModel 테이블의 형식화된 xml 열인 Instructions 열에 대해 지정된 쿼리입니다. 식은 QName의 로컬 이름 부분이 "Location"인 <root> 요소의 요소 자식을 모두 반환합니다. local-name() 함수는 조건자에서 지정되며 인수가 없습니다. 함수는 컨텍스트 노드를 사용합니다.

SELECT Instructions.query('
declare namespace AWMI="http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/ProductModelManuInstructions" ;
  /AWMI:root//*[local-name() = "Location"]') as Result
FROM Production.ProductModel
WHERE ProductModelID=7

쿼리는 <root> 요소의 모든 <Location> 요소 자식을 반환합니다.

커뮤니티 추가 항목

추가
표시: