3

从算法上讲,我如何为 SQL Server 列生成一个唯一的、人类可读的、合理长度的订单号。唯一的要求是它引用客户编号,并且可以通过电话轻松重复。

就像是:

  • 客户编号 - XXXXXXX - XXXXXXX

RT65-XXXXXXXX-XXXXXXXX

我将如何生成 XXXXXXXX?(使用随机的字母数字数据,然后检查它是否实际上是重复的?)

生成这些类型的数字时,最好的方法/考虑是什么?

你是如何在你的应用程序中做到这一点的?

4

4 回答 4

2

使用标识列并用零填充。

更改起始值和增量值以适应口味。

(可选)添加 CRC 校验位。

于 2010-01-27T17:58:18.717 回答
1

查看这些帖子,几乎完全相同的问题。两者中的真实数据(我以前使用过):

生成订单号的好算法

客户编号、订单编号的最佳格式是什么?

于 2010-01-27T17:58:44.783 回答
0

这很愚蠢但相当直截了当,yyyymmddhhmmss 怎么样

并将其与

RT65-XXXXXXXX-XXXXXXXX

于 2010-01-27T17:58:52.960 回答
0

在 php 中,您可以执行以下操作:

<?php 
$stamp = strtotime("now");
$orderid = 'RT65-'.$stamp.'-'.$REMOTE_ADDR; 
$orderid = str_replace(".", "", $orderid); 
echo($orderid); 
?>
于 2011-12-12T13:26:37.553 回答