gpt4 book ai didi

mysql - XML 数据类型的搜索查询

转载 作者:行者123 更新时间:2023-11-30 23:32:03 26 4
gpt4 key购买 nike

我有一个要求,我想搜索 xml 数据类型的数据,从前端我会得到名字,姓氏,出生日期,电子邮件所有字段都不是强制性的,有些字段会显示为空或 null 我想根据该搜索,如果我将名字作为“测试”,将姓氏作为空或空

如果它是 varchar 数据类型,那么我可以将查询创建为

FirstName= ISNULL(@firstname, FirstName) or COALESCE(@firstname, FirstName, '') = '')

但在 XML 文档中我如何使用这种类型的查询。

xmlDoc.value('(/personalDetails/firstname)[1]','varchar(100)')

谢谢

最佳答案

在 SQLServer 2008 中,我会这样写:

select 
xmlDoc.value('(personalDetails/firstname/text())[1]','varchar(100)') as firstname
from
myTable
where
not xmlDoc is null
and xmlDoc.exist('personalDetails/firstname[.!='''']')>0

如果您想为不存在的值返回 NULL,您也可以执行 CASE WHEN ... ELSE ... END

关于mysql - XML 数据类型的搜索查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10087016/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com