sql如何获取一个字段中后3位的最大值?
我的主键是这样设置的varchar类型:日期+序号,我怎样获取日期后面的序号的最大值?例如:20130529002,我现在要添加20130529003的记录,怎么在数据库...
我的主键是这样设置的varchar类型:日期+序号,我怎样获取日期后面的序号的最大值?
例如:20130529002,我现在要添加20130529003的记录,怎么在数据库中获取最后面3位的最大值002? 展开
例如:20130529002,我现在要添加20130529003的记录,怎么在数据库中获取最后面3位的最大值002? 展开
7个回答
展开全部
用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;
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;
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
select top 1 substring(主键字段,9,3) as 序号 from 表名 order by 序号 desc
这个就行了。 求分。
这个就行了。 求分。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这样得到去除前面日期的最大流水号:
select max(right(keyfield,3)) from tablename
select max(right(keyfield,3)) from tablename
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
select max(right(字段名)) from 表名
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询