sql - 收到错误“传递给 LEFT 或 SUBSTRING 函数的长度参数无效”
问题描述
我在下面的查询中没有几个问题,当我取消注释并运行它返回的整个查询时的姓氏行错误:
传递给 LEFT 或 SUBSTRING 函数的长度参数无效
以及如何删除邮政编码中的连字符,下面是代码:
最后,当我添加姓氏行时,它给了我这个错误
传递给 LEFT 或 SUBSTRING 函数的长度参数无效
在下面,我想删除邮政编码中破折号后的任何内容,例如示例(99297-9925)——在这里我想删除“-9925”——只有很少的记录像这样存在:
解决方案
我不确定代码是否正确,但解决此问题的最简单方法charindex()
是将搜索到的字符附加到字符串的末尾:
FName = ('"' +
LTRIM(RTRIM(Substring(HimRec_Main.NameFirst,
Charindex(',', HimRec_Main.NameMiddle + ',') + 1,
LEN(HimRec_Main.NameLast)
)
)
) +
'"'
),
LName = ('"' +
LTRIM(RTRIM(Substring(HimRec_Main.NameLast, 1,
Charindex(',', HimRec_Main.NameLast + ',') - 1)
)
) +
'"'
) ------- **need help in this one **
推荐阅读
- sql - Firebird 2.5 更新或插入
- azure - 部署到具有部署槽的 Azure 生产槽的正确方法是什么
- c# - Resharper:不要为元组扩展 var
- excel - 在只读文本框中显示选择
- javascript - 按下后退按钮时将正确的信息传递给上一个活动
- ios - Swift 4:面具不适用于 UIImage?
- python - 如何正确映射 python 函数,然后在 Tensorflow 中批处理数据集
- asp.net-mvc - @Html.EditorFor 查看缓存旧数据,无法显示日期选择器
- sql - UPDATE 语句与 Sql Server 2014 上的 FOREIGN KEY 约束冲突
- mysql - 用正则表达式替换字符串以获得从机器人框架中的 MySQL 查询中获取的值