sql如何获取一个字段中后3位的最大值?

我的主键是这样设置的varchar类型:日期+序号,我怎样获取日期后面的序号的最大值?例如:20130529002,我现在要添加20130529003的记录,怎么在数据库... 我的主键是这样设置的varchar类型:日期+序号,我怎样获取日期后面的序号的最大值?
例如:20130529002,我现在要添加20130529003的记录,怎么在数据库中获取最后面3位的最大值002?
展开
 我来答
创作者zUzVB1Sl31
2013-05-30 · 编程类资料、英语学习资料
创作者zUzVB1Sl31
采纳数:1331 获赞数:5975

向TA提问 私信TA
展开全部
Select Max(Int(Right(日期+序号,3))) as 最大值 from 表;
还有你上面002也不是最大的啊,去最大值要主义了,要是数字,不然会紊乱的,自负排列是按ACSII码顺序来排列的,你那日期别说是日个格式的啊,是日期格式的也要转换成字符串才能拼接
百度网友2e83500
2013-05-29 · TA获得超过1775个赞
知道小有建树答主
回答量:547
采纳率:66%
帮助的人:116万
展开全部
用SUBSTR字符函数======-=======
SELECT gg,SUBSTR(gg,2),SUBSTR(gg,2,5) FROM nammm;
===========-============-===============================
gg SUBSTR(gg,2) substr(gg,2,5)
kk1 k1 k1
kkggg2 kggg2 kggg2
kkkkllss3 kkkllss3 kkkll
kkjfkfdfggh6 kjfkfdfggh6 kjfkf
===========-============-============-===================
查出的结果分别是显示nammm表里gg列:所有字符,从第2个显示到最后,从第2显示到第5个。
==================-====================-=
#你要查询出最大的那个序列号可以这样写==
SELECT MAX(SUBSTR(gg,9))FROM nammm;
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
代号极光
2013-06-07 · TA获得超过104个赞
知道答主
回答量:65
采纳率:0%
帮助的人:49.2万
展开全部
select top 1 substring(主键字段,9,3) as 序号 from 表名 order by 序号 desc

这个就行了。 求分。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
WHITE_WIN
2013-05-29 · TA获得超过6111个赞
知道大有可为答主
回答量:3759
采纳率:50%
帮助的人:1917万
展开全部
这样得到去除前面日期的最大流水号:
select max(right(keyfield,3)) from tablename
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
badkano
2013-05-29 · 知道合伙人体育行家
badkano
知道合伙人体育行家
采纳数:144776 获赞数:885371
团长

向TA提问 私信TA
展开全部
select max(right(字段名)) from 表名
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式