从算法上讲,我如何为SQL Server列生成唯一的,人类可读的,合理加长的订单号。唯一的要求是它引用了客户编号,可以通过电话轻松重复。
类似的东西:
RT65-XXXXXXXX-XXXXXXXX
我如何生成XXXXXXXX? (使用随机的字母数字数据,然后检查它是否实际上是重复的?)
和
生成这些类型的数字时,最好的方法/注意事项是什么?
你是如何在你的申请中做到这一点的?
答案 0 :(得分:1)
使用标识列和填充零。
改变开始值和增量值。
(可选)添加CRC校验位。
答案 1 :(得分:1)
查看这些帖子,几乎完全相同的问题。两者中真正的好数据(我之前使用过它们):
A good algorithm for generating an order number
What is the best format for a customer number, order number?
答案 2 :(得分:1)
这很傻但很直接, 怎么样 yyyymmddhhmmss
并将其与
一起使用RT65-XXXXXXXX-XXXXXXXX
答案 3 :(得分:0)
<?php
$stamp = strtotime("now");
$orderid = 'RT65-'.$stamp.'-'.$REMOTE_ADDR;
$orderid = str_replace(".", "", $orderid);
echo($orderid);
?>