gpt4 book ai didi

xml - xQuery LIKE 运算符(开头为)

转载 作者:数据小太阳 更新时间:2023-10-29 02:00:02 24 4
gpt4 key购买 nike

字段中的值如下

<en-US>Parameter23</en-US>
<it-IT>Parameter</it-IT>

SQL查询是

select * 
from parametermaster
where cast(ParameterName as xml).exist('en-US/text()[contains(.,"P")]') = 1

我正在尝试将其作为

select * 
from parametermaster
where cast(ParameterName as xml).exist('en-US/text()[starts-with(.,"P")]') = 1

是给错误作为

Msg 2395, Level 16, State 1, Line 1
XQuery [exist()]: There is no function '{http://www.w3.org/2004/07/xpath-functions}:starts-with()'

谁能帮帮我,我想在 SQL 2005 XQuery 中创建 LIKE 运算符感觉。我是 XQuery 的新手。

最佳答案

starts-with()/ends-with() 可以用 substring() 和 string-length() 函数的组合代替:

select * 
from parametermaster
where cast(ParameterName as xml).exist('en-US/text()[substring(., 1, string-length("P")) = "P"]') = 1

通常 starts-with(a, b) 等同于

substring(a, 1, string-length(b)) = b

and ends-with(a, b) 等同于

substring(a, string-length(a) - string-length(b)) = b

关于xml - xQuery LIKE 运算符(开头为),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5000471/

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