gpt4 book ai didi

tsql - 传递给 LEFT 或 SUBSTRING 函数的长度参数无效

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

我有以下描述:“示例产品制造商产品名称 XYZ - 尺寸”,我只想从中获得“产品名称 XYZ”的值。如果这只是一行,我只使用 SUBSTRING 没有问题,但我有数千条记录,尽管所有产品的初始值 Sample Product Maker 都相同,但产品名称可能不同,并且在连字符。

到目前为止,我已经在这个问题的标题中产生了错误。

SELECT i.Itemid,
RTRIM(LTRIM(SUBSTRING(i.ShortDescription, 25, (SUBSTRING(i.ShortDescription, 25, CHARINDEX('-', i.ShortDescription, 25)))))) AS ProductDescriptionAbbrev,
CHARINDEX('-', i.ShortDescription, 0) - 25 as charindexpos
FROM t_items i

我收到“子字符串函数的参数 3 的参数数据类型 varchar 无效”

如您所见,我正在获取 sql 语句最后一行的值,但是当我尝试将其插入 SUBSTRING 函数时,我遇到了各种问题。

最佳答案

很有可能你有缺少“-”的行,这会导致你的错误。
尝试这个...

SELECT i.Itemid,
SUBSTRING(i.ShortDescription, 22, CHARINDEX('-', i.ShortDescription+'-', 22)) AS ProductDescriptionAbbrev,
FROM t_items i

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

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