参数数据类型 int 对于 patindex 函数的参数 2 无效

hx510773375 2012-05-14 10:47:17
select '9' +replicate('0',len(max(itemid))-1-len(max(cast(substring(itemid,patindex('%[1-9]%',itemid),len(itemid))as int))+1))
+cast(max(cast(substring(itemid,patindex('%[1-9]%',itemid),len(itemid))as int))+1 as int) as itemid
from ItemsMaterial

itemid 为 Int
...全文
517 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
人生无悔 2012-05-14
  • 打赏
  • 举报
回复

select '9' +replicate('0',len(max(itemid))-1
-len(max(cast(substring(convert(varchar(10),itemid),patindex('%[1-9]%',convert(varchar(10),itemid)),len(itemid))as int))+1))
+cast(max(cast(substring(convert(varchar(10),itemid),patindex('%[1-9]%',convert(varchar(10),itemid)),len(itemid))as int))+1 as int) as itemid
from ItemsMaterial


substring的三个参数你也传错了

第一个参数范围:字符串、二进制字符串、text、image、列或包含列的表达式
人生无悔 2012-05-14
  • 打赏
  • 举报
回复
patindex第二个参数为字符串表达式,转换下convert(varchar(20),itemid)试下

27,580

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧