我正在尝试从传递给存储过程的 xml 参数中读取特定值。到目前为止,我的代码的一个粗略示例如下。
SET @SearchFilter =
'<?xml version="1.0"?>
<KeywordSearch xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<SelfEmployed xsi:nil="true" />
</KeywordSearch>'
SET @SelfEmployed = @SearchFilter.query('/KeywordSearch/SelfEmployed[1]').value('/', 'bit')
SELECT @SelfEmployed
我遇到的问题是,尽管当元素包含真值或假值时上述正确返回,而元素不包含值,因此我期望为空,但它返回假。有没有办法将数据类型正确获取为可为空的位值?