自增列我很少用,因為我覺得雖然插入數據的時候很方便,但是在一些特殊情況下會很麻煩。 其實事主已經採用了“yyyymmddhhmmssNNN”這種奇葩的格式,新一年是不是從001開始已經不重要了。可以的話還是讓他作一回死吧。
=================================版權聲明=================================
版權聲明:原創文章 謝絕轉載
請通過右側公告中的“聯繫郵箱([email protected])”聯繫我
勿用於學術性引用。
勿用於商業出版、商業印刷、商業引用以及其他商業用途。
本文不定期修正完善。
本文鏈接:http://www.cnblogs.com/wlsandwho/p/5075789.html
恥辱牆:http://www.cnblogs.com/wlsandwho/p/4206472.html
=======================================================================
沒啥說的,鄙視那些無視版權隨意抓取博文的爬蟲小網站站長。
=======================================================================
自增列我很少用,因為我覺得雖然插入數據的時候很方便,但是在一些特殊情況下會很麻煩。
但是最近企鵝群里有人要這個,如圖。
“每過一年從001開始”這裡我沒實現,這需要在計算列中調用自定義函數或者其他的什麼東西來實現“NNN”的計數。我這裡只是簡單的用一個自增INT來代替。
(其實既然已經採用了“yyyymmddhhmmssNNN”這種奇葩的格式,新年是不是從001開始已經不重要了。)
一看這就是拍大腿想出來的表結構。
如果一直攔著想作死的青年,他就不會知道自己的行為有多可怕。可以的話還是讓他作一回死吧。
=======================================================================
上代碼。
1 --by WLS 2 --網路代碼有風險 3 --複製粘貼須謹慎 4 USE tempdb 5 GO 6 7 IF OBJECT_ID('t_TestbyWLS','U') IS NOT NULL 8 DROP TABLE t_TestbyWLS 9 GO 10 11 CREATE TABLE t_TestbyWLS(DumyId INT IDENTITY(1,1), 12 SN AS (REPLACE(replace(replace(convert(NVARCHAR,getdate(),120),'-',''),' ',''),':','')+RIGHT('00'+CAST(DumyId AS NVARCHAR),3)), 13 Name NVARCHAR(50)) 14 GO 15 16 INSERT INTO t_TestbyWLS(Name) VALUES('thbytwo') 17 INSERT INTO t_TestbyWLS(Name) VALUES('wlsandwho') 18 INSERT INTO t_TestbyWLS(Name) VALUES('shawbytwo') 19 INSERT INTO t_TestbyWLS(Name) VALUES('wls') 20 INSERT INTO t_TestbyWLS(Name) VALUES('No zuo no die,why you try!') 21 GO 22 SELECT * FROM t_TestbyWLS 23 GO
=======================================================================
DumyId列作為輔助欄位。效果圖:
=======================================================================
也沒什麼原理好講的,都是手冊上的東西。