gpt4 book ai didi

sql - 查询返回 SQL 错误信息 537

转载 作者:行者123 更新时间:2023-12-04 18:24:25 25 4
gpt4 key购买 nike

作为 ETL 过程验证的一部分,我目前正在尝试复制现有查询,该查询具有将 URL 剥离到域和单独部分的功能

我的查询如下:

SELECT substring(Referrer , 1, patindex('%?%', Referrer) - 1) as URL
FROM dbo.tableA MRD
JOIN dbo.tableB mm
ON mm.MetId = MRD.MetId
AND mm.MetId = 4

查询返回结果集和错误。
Msg 537, Level 16, State 2, Line 1
Invalid length parameter passed to the LEFT or SUBSTRING function.

仍在学习 SQL,但谷歌搜索状态“此错误是由向 SUBSTRING、LEFT 和 RIGHT 字符串函数的长度参数传递负值引起的”

是因为我有空的 URL 字段,如果是这样,我该如何修改上面的查询来补偿?

最佳答案

可能您的某些引荐来源字符串不包含 ?特点。

如果没有匹配则PATINDEX将返回 0。

然后,子字符串将尝试从引用字符串中获取字符 1 到 -1。

您可能需要将语句包装在 case 语句中,然后调用 PATINDEX。除非有人想出更好的解决方法:

select 
case patindex('%?%', Referrer)
when 0 then Referrer
else substring(Referrer , 1, patindex('%?%', Referrer) - 1)
end as URL
from dbo.tableA MRD
JOIN dbo.tableB mm
ON mm.MetId = MRD.MetId
AND mm.MetId = 4

关于sql - 查询返回 SQL 错误信息 537,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9992671/

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