在 XML 文档中,有时需要判断某个元素是否具有值。SQL 语言提供了多种 来实现此目标。
**EXIST() 函数**
EXIST() 函数用于检查元素是否存在并具有值。语法如下:
sql
EXIST(XPath)
其中,XPath 指定了要检查的元素路径。如果元素存在并具有值,则返回 TRUE;否则,返回 FALSE。
例如,以下查询使用 EXIST() 函数检查
sql
SELECT * FROM XMLTable('data.xml') AS T
WHERE EXIST(T.XMLData.('/person/name'))
**IS NULL** 运算符
IS NULL 运算符用于检查元素是否不存在或具有空值。语法如下:
sql
column IS NULL
其中,column 是要检查的 XML 列。
例如,以下查询使用 IS NULL 运算符检查
sql
SELECT * FROM XMLTable('data.xml') AS T
WHERE T.XMLData.('/person/name') IS NULL
**COALESCE() 函数**
COALESCE() 函数用于返回第一个非空值。语法如下:
sql
COALESCE(expression1, expression2, ..., expressionN)
其中,expressionN 是要检查的表达式。
例如,以下查询使用 COALESCE() 函数将空
sql
SELECT * FROM XMLTable('data.xml') AS T
WHERE COALESCE(T.XMLData.('/person/name'), 'Unknown')
** **
SQL 提供了多种 来判断 XML 文档中元素是否有值。EXIST() 函数用于检查元素是否存在,IS NULL 运算符用于检查元素是否为空,COALESCE() 函数用于返回第一个非空值。这些 使我们能够有效地处理 XML 数据并从中提取所需的信息。