图片 2

数据库-求一条sqlserver2000的sql语句?

我们经常会在在DB中创建序列:

小弟在此谢过了……
[b]问题补充:[/b]
大哥,可不可以提供个示例呀?
[b]问题补充:[/b]
数据库设计的缺陷,这个我也知道,因为这个数据库是别人设计的,我这边没法改变,pJun
大哥说的很有道理,可是这样也会有一种问题的产生,就是当cid的值没有达到5位数时,还要判断一次,也就是还要去补零呀!这个问题怎么解决呀?

其中RadixSort是最终排序函数,调用它即可排序。

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持 !

我的想法是能不能写一个sql语句直接返回下一个要添加的cid
我在程序中就方便多了,

图片 1

oracle中创建序列及序列补零实例详解

谢谢各位了……

基数排序是非比较型的排序算法,其原理是将整数按位数切割成不同的数字,然后按每个位数分别比较。

-- Create sequence create sequence COMMON_SEQminvalue 1maxvalue 999999999start with 1increment by 1cache 20cycle;

求一条sqlserver2000的sql语句?
要求是这样的:我的表的主键是char8 类型的 具体格式是 30200001
也就是302是固定的 后面是一个序列好
这种情况下我在程序中每插入一条数据都要 select max from 表名
;然后再把前面的302截取掉,在把后面的序列转化成number型
再加上1然后再toString(),还有判断是否够8位,如果不够的话中间补0
,用着特别复杂,还效率低下。

转载

以上的函数lpad就是在左侧补零,rpad是右侧补零

各位大哥看看有其他的办法没有?

图片 2

整个sql还有其他部分,就是我们可以让序列以特定的开头展示,比如我们用年月日时分秒14位来作为我们序列的开头,就是上面完整的sql

这个版本的基数排序RadixSort较RadixSort不同的是需要输入待排序列最大数的位数。因为RadixSort最大数位在程序中已经计算过了,因为需要计算最大数,所以需要对待排链表最开始循环一次,所以RadixSort速度比RadixSort稍快。