SQL语句取最大值问题

select*fromt_ipinfowherech_posno=(selectmax(convert(int,ch_posno))fromdbo.t_ipinfo)以上... select * from t_ipinfo where ch_posno = (
select max(convert(int,ch_posno)) from dbo.t_ipinfo)

以上语句判断不了字母

取最大机号的问题,确实是还有些问题 比如: 原来的机号有 01 10 010 0110 0111 1001 1002 G001 F001,里面含有子母的, 在去最大值的时候,能否跳过这些子母开头的,就是取最大值的时候不判断这些字母开头的编号,不参与比大小。
展开
 我来答
blademaster717
2017-12-11 · TA获得超过1456个赞
知道小有建树答主
回答量:882
采纳率:97%
帮助的人:370万
展开全部

从你的题目意思,其实就是要找那些可以纯数字的才参与处理,SQLSERVER使用ISNUMERIC可以判断是否是数字

select * from t_ipinfo where ch_posno = (
select convert(varchar(100),max(convert(int,ch_posno))) from (select ch_posno from t_ipinfo where ISNUMERIC(ch_posno)=1) a)

百度网友fb6754510f
2017-12-11 · TA获得超过289个赞
知道小有建树答主
回答量:356
采纳率:80%
帮助的人:143万
展开全部
你可以采用translate函数将获取到的数据过滤掉字母再进行排序。
语法:TRANSLATE(expr,from,to)
expr: 代表一串字符,from 与 to 是从左到右一一对应的关系,如果不能对应,则视为空值。
例如:
SELECT TRANSLATE('abcdefghij','abcdefghij','123456') FROM dual;
结果是 123456
SELECT TRANSLATE('abcdefghij','abcdefghij','123456ghij') FROM dual;
结果是 123456ghij
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友983ec29
2017-12-11 · TA获得超过498个赞
知道小有建树答主
回答量:399
采纳率:93%
帮助的人:30.6万
展开全部
先排序ORDER BY *desc 或者ORDER BY *asc
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式