VerySource

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1349|回复: 4

SQL语句查询最大值问题

[复制链接]

2

主题

2

帖子

3.00

积分

新手上路

Rank: 1

积分
3.00
发表于 2021-3-2 12:30:01 | 显示全部楼层 |阅读模式
表RUNCARD有M,N等字段
其中M中数据如M(1)=mm001
             M(2)=mm002
             M(3)=mm003
             ......
    类型为varchar
现在想做个循环,将M中mm后面的数字部分提取出来最大值,附给num,类型为integer

大家看看我这个语句可以吗?
SELECT MAX(CAST(SUBSTRING(M,2,9) AS INTEGER)) AS NUM FROM RUNCARD

感觉其中的类型转换有点乱,请高手指教,谢谢,急!!!
回复

使用道具 举报

0

主题

49

帖子

35.00

积分

新手上路

Rank: 1

积分
35.00
发表于 2021-3-2 12:45:01 | 显示全部楼层
SELECT MAX(CAST(SUBSTRING(M,3,9) AS INT)) AS NUM FROM RUNCARD
回复

使用道具 举报

1

主题

13

帖子

12.00

积分

新手上路

Rank: 1

积分
12.00
发表于 2021-3-2 14:15:02 | 显示全部楼层
对的,michealhenry的,没错
回复

使用道具 举报

0

主题

40

帖子

29.00

积分

新手上路

Rank: 1

积分
29.00
发表于 2021-3-2 15:00:01 | 显示全部楼层
这样也可以:)
SELECT MAX(cast(REPLACE(M,'mm','') AS INT)) AS NUM FROM RUNCARD
回复

使用道具 举报

0

主题

14

帖子

9.00

积分

新手上路

Rank: 1

积分
9.00
发表于 2021-3-2 15:15:01 | 显示全部楼层
这样也可以
select cast(right((select max(m) from runcard),3) as int) as num
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|CopyRight © 2008-2023|verysource.com ( 京ICP备17048824号-1 )

快速回复 返回顶部 返回列表