sql:variable()函数,在XQuery表达式内包含 SQL 关系值的变量。
如下面xml:
DECLARE
@xml XML
=
'
<Devs>
<lang name="VB.NET"/>
<lang name="C#.NET"/>
<lang name="Java" />
<lang name="Javascript" />
<lang name="ASP.NET" />
</Devs>
'
<Devs>
<lang name="VB.NET"/>
<lang name="C#.NET"/>
<lang name="Java" />
<lang name="Javascript" />
<lang name="ASP.NET" />
</Devs>
'
现在我们定义一个变量:
DECLARE
@langname
NVARCHAR(
50)
SET @langname = ' ASP.NET '
SET @langname = ' ASP.NET '
然后可以在SELECT中使用此函数sql:variable()来传入此变量:
SELECT
@xml.query(N
'
/Devs/lang[@name=sql:variable("@langname")]
')
/Devs/lang[@name=sql:variable("@langname")]
')
执行得到结果: