主頁 > 知識(shí)庫 > SQL Server自動(dòng)生成日期加數(shù)字的序列號(hào)

SQL Server自動(dòng)生成日期加數(shù)字的序列號(hào)

熱門標(biāo)簽:湖南電腦外呼系統(tǒng)平臺(tái) 知名電銷機(jī)器人價(jià)格 長沙智能外呼系統(tǒng) 菏澤語音電銷機(jī)器人加盟公司 電銷機(jī)器人公司 需要哪些牌照 廣東防封卡外呼系統(tǒng)原理是什么 地圖標(biāo)注牌 外呼系統(tǒng)改進(jìn) 分享百度地圖標(biāo)注多個(gè)位置
USE MASTER
GO
IF EXISTS(SELECT * FROM dbo.sysdatabases WHERE
name='my_test_database')
DROP DATABASE [my_test_database]
GO
CREATE DATABASE [my_test_database]
GO
USE [my_test_database]
GO
CREATE TABLE [my_table] ([my_id] VARCHAR(16))
GO
--存儲(chǔ)過程開始

CREATE PROCEDURE get_new_id
@NEW_ID VARCHAR(16) OUTPUT
AS
BEGIN
DECLARE @DATE DATETIME
DECLARE @YYYY VARCHAR(4)
DECLARE @MM VARCHAR(2)
DECLARE @DD VARCHAR(2)
--保存取得的當(dāng)前時(shí)間

SET @DATE = GETDATE()
SET @YYYY = DATEPART(yyyy, @DATE)
SET @MM = DATEPART(mm, @DATE)
SET @DD = DATEPART(dd, @DATE)
--位數(shù)不夠的前面補(bǔ)0
SET @YYYY = REPLICATE('0', 4 - LEN(@YYYY)) + @YYYY
SET @MM = REPLICATE('0', 2 - LEN(@MM)) + @MM
SET @DD = REPLICATE('0', 2 - LEN(@DD)) + @DD
--取出表中當(dāng)前日期的已有的最大ID
SET @NEW_ID = NULL
SELECT TOP 1 @NEW_ID = [my_id] FROM [my_table] WHERE [my_id] LIKE
@YYYY+@MM+@DD+'%' ORDER BY [my_id] DESC
--如果未取出來
IF @NEW_ID IS NULL
--說明還沒有當(dāng)前日期的編號(hào),則直接從1開始編號(hào)
SET @NEW_ID = (@YYYY+@MM+@DD+'00000001')
--如果取出來了

ELSE
BEGIN
DECLARE @NUM VARCHAR(8)
--取出最大的編號(hào)加上1

SET @NUM = CONVERT(VARCHAR, (CONVERT(INT, RIGHT(@NEW_ID, 8)) + 1))
--因?yàn)榻?jīng)過類型轉(zhuǎn)換,丟失了高位的0,需要補(bǔ)上
SET @NUM = REPLICATE('0', 8 - LEN(@NUM)) + @NUM
--最后返回日期加編號(hào)

SET @NEW_ID = @YYYY+@MM+@DD + @NUM
END
END
GO
--執(zhí)行20次調(diào)用及插入數(shù)據(jù)測(cè)試

DECLARE @N INT
SET @N = 0
WHILE @N 20
BEGIN
DECLARE @NEW_ID VARCHAR(16)
EXECUTE get_new_id @NEW_ID OUTPUT
INSERT INTO [my_table] ([my_id]) VALUES (@NEW_ID)
SET @N = @N + 1
END
SELECT * FROM [my_table]
GO
--輸出結(jié)果
您可能感興趣的文章:
  • java生成申請(qǐng)單序列號(hào)的實(shí)現(xiàn)方法
  • .net獲取硬件信息_CPU序列號(hào)
  • C#獲得MAC地址(網(wǎng)卡序列號(hào))的實(shí)現(xiàn)代碼
  • C#利用win32 Api 修改本地系統(tǒng)時(shí)間、獲取硬盤序列號(hào)
  • mysql簡單實(shí)現(xiàn)查詢結(jié)果添加序列號(hào)的方法
  • PowerShell中獲取Windows系統(tǒng)序列號(hào)的腳本分享
  • 安裝完成后如何找回SQL Server實(shí)例安裝時(shí)的序列號(hào)
  • C#獲取U盤序列號(hào)的方法
  • C#實(shí)現(xiàn)讀取指定盤符硬盤序列號(hào)的方法
  • ORACLE實(shí)現(xiàn)自定義序列號(hào)生成的方法

標(biāo)簽:商洛 天水 福建 泉州 美容院 西寧 珠海 呼和浩特

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《SQL Server自動(dòng)生成日期加數(shù)字的序列號(hào)》,本文關(guān)鍵詞  SQL,Server,自動(dòng)生成,日期,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《SQL Server自動(dòng)生成日期加數(shù)字的序列號(hào)》相關(guān)的同類信息!
  • 本頁收集關(guān)于SQL Server自動(dòng)生成日期加數(shù)字的序列號(hào)的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章