慕少森
2018-12-06 13:39:51
如何在數據庫中讓商品的編號按照g000001這樣累加呢?麻煩各位高手指點下。謝謝了。比如:
第一個商品是:g00001
第二個商品是:g00002
…………
也許你會說這樣不好,但是沒辦法,這樣是為你有些地方的好。
1 回答
波斯汪
TA貢獻1811條經驗 獲得超4個贊
在程序里面可以做處理, 先截取前綴,再將后面的數字加一,再和前綴連在一起。
在數據庫里面可以創建個函數:
Create FUNCTION [dbo].[GetMaxCode]
(
@Prefix nvarchar(1)
)
RETURNS nvarchar(6)
AS
BEGIN
?-- Declare the return variable here
?DECLARE @Code nvarchar(6)
?DECLARE @currentValue int
?
?select @Code=Max(Code) from t_demo
?
?if(@Code='' or @Code is null)
??Set @Code=@Prefix+'00001'
??
?set @Code=substring(@Code,2,5)
?set @currentValue=cast(@code as int)
?SET @currentValue=?@currentValue+1
?
?if(@currentValue<10)
??set @Code=@Prefix+'0000'
?else
??set @Code=@Prefix+'000'
??
?set @Code=@Code+cast(@currentValue as nvarchar(5))
?
?RETURN @Code
END
?
調用 :select dbo.GetMaxCode('p')
- 1 回答
- 0 關注
- 932 瀏覽
添加回答
舉報
0/150
提交
取消
