gpt4 book ai didi

sql - 传递给 LEFT 或 SUBSTRING 函数的长度参数无效 ERROR msg

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

我正在处理工作查询。我正在尝试提取停止名称的第二个单词,以空格分隔。

因此,如果站名是“Jane Doe”,我想拉“Doe”。

我试图在 sql 中定义一个字段,它看起来像这样:

[pull the second word] = SUBSTRING([STOP_NAME], (CHARINDEX(' ', [STOP_NAME], 1)) + 1, (CHARINDEX(' ', [STOP_NAME], CHARINDEX(' ', [STOP_NAME], 1) + 1)) - (CHARINDEX(' ', [STOP_NAME], 1)) - 1) 

当我输入这个时,我收到以下错误消息:

Invalid length parameter passed to the LEFT or SUBSTRING function.

我做错了什么?

更新:

我只是想拉第二个词。如果站点名称是“Caroline Jane Doe”,那么我只想拉“Jane”。

谢谢!

最佳答案

这是因为表达式中的 length( 3rd) 参数求值为负值。如果单词中至少有 2 个空格(例如'abc def ghi'),则表达式有效,如果只有一个空格('abc def'),则表达式的下方部分计算为 0,这可以使长度(第 3 个参数)负数等错误。

CHARINDEX(' ', [STOP_NAME], CHARINDEX(' ', [STOP_NAME], 1) + 1))

关于sql - 传递给 LEFT 或 SUBSTRING 函数的长度参数无效 ERROR msg,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44080046/

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