declare @docData xml
set @docData='d
f name="时间" value="2017-07-11"
f name="原由" value="L1"
d'
--@docData是xml,csdn不能显示就把<>省了
declare @openExpresstion nvarchar(200)
set @openExpresstion='//f[@name="原由" and (@value="L2" or @value="L3")]'
if @docData.exist('sql:variable("@openExpresstion")') = 1
begin
print('验证通过')
end
else
begin
print('验证不通过')
end
if @docData.exist('//f[@name="原由" and (@value="L2" or @value="L3")]') = 1
begin
print('验证通过')
end
else
begin
print('验证不通过')
end
--问:上面两个语句下面的是正确的,上面的随便写上面条件都是通过,但我的条件是动态的,需要怎么写,哪位大神教教,谢谢!
执行结果
验证通过
验证不通过
--这么写上面的语句判断是有问题的,该怎么解决
if @docData.exist('sql:variable("@openExpresstion")')
-- 就这么写试试