java中自动生成有规律的编号
例如“2008050001,2008060002”前六位是系统时间+“0001”但注意我的要求是当到了下个月份时,后4位是顺序下来的比如5月份最后一笔业务是“200805...
例如“2008050001,2008060002”前六位是系统时间+“0001”
但注意 我的要求是 当到了下个月份时,后4位是顺序下来的
比如 5月份最后一笔业务是“2008050012”那么6月份的第一
笔业务就是“2008060013”
谢谢帮忙! 展开
但注意 我的要求是 当到了下个月份时,后4位是顺序下来的
比如 5月份最后一笔业务是“2008050012”那么6月份的第一
笔业务就是“2008060013”
谢谢帮忙! 展开
展开全部
public class Main {
private static long n = 1;
public static void main(String[] args) {
System.out.println(test(n));
System.out.println(test(n));
}
public static long test(long l) {
String str = new SimpleDateFormat("yyyyMM")
.format(new java.util.Date());
long m = Long.parseLong((str)) * 10000;
long ret = m + l;
n = l + 1;
return ret;
}
}
private static long n = 1;
public static void main(String[] args) {
System.out.println(test(n));
System.out.println(test(n));
}
public static long test(long l) {
String str = new SimpleDateFormat("yyyyMM")
.format(new java.util.Date());
long m = Long.parseLong((str)) * 10000;
long ret = m + l;
n = l + 1;
return ret;
}
}
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
把系统时间转换成数字然后*10000,再加上一次递增1的后四位数
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
oracle 10g中:
SELECT (TO_CHAR(SYSDATE,'YYYYMM') || LPAD(NVL(MAX(SUBSTR(id, 7, 4)) + 1, 1), 4, '0')) AS newId
FROM test
test表中有个字符型的id字段。
SELECT (TO_CHAR(SYSDATE,'YYYYMM') || LPAD(NVL(MAX(SUBSTR(id, 7, 4)) + 1, 1), 4, '0')) AS newId
FROM test
test表中有个字符型的id字段。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
将最后4位数存在一个表中。前面几位用当前时间。做个函数拼出来不就行了。
每生成一个号后再去表中修改那个4位数。
每生成一个号后再去表中修改那个4位数。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你可真会想
这样的编号既然你能想出来,为什么不自己有程序写出来
这样的编号既然你能想出来,为什么不自己有程序写出来
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询