2015-04-06 42 views
-1

我想設置像2015/04/1,2,3這樣的格式。我該怎麼做?什麼樣的數據類型應該使用?月份更改後,會自動設置爲2015/05/1,2,3等新月份。我如何設置patientid格式像年/月/ 1,2,3 ..即2015/04/1,2,3 ..?

+0

您需要給出更多背景。真的不清楚你在這裏問什麼 - 我們沒有足夠的上下文。 – 2015-04-06 10:35:18

+0

今天的日期是2015/04。如果新患者進入,身份證應設置爲2015/04/01。它應該增加2015/04/02。 – prashant 2015-04-06 10:41:35

+0

今天的*日期*包括一天以及一年和一月。我們對這裏涉及的代碼一無所知。特別是,我們需要知道是否可能有多個客戶等等。有什麼特別的原因,爲什麼你想分配這樣的ID?您可以輕鬆地將ID從創建日期中分離出來...您爲什麼要將這兩者結合在一起? – 2015-04-06 10:44:38

回答

0

我同意Jon的觀點,你錯過了很多背景知識,還有很多你沒有想到的東西,或者至少如果你認爲它沒有把它放在問題中。所以我相信這會扭轉並咬我,但這是一個嘗試回答這個問題。由於您使用的是MS SQL 2008,因此您將無法使用序列。

// a Sequence table 
CREATE TABLE [dbo].[PatientId](
    [Id] [int] IDENTITY(1,1) NOT NULL, 
    [Junk] [nvarchar](10) NULL 
) ON [PRIMARY] 

GO 

DECLARE @id INT; 

// Insert a junk record to get the next identity value 
INSERT INTO PatientId (Junk) VALUES (''); 
// Store the value 
SELECT @id = SCOPE_IDENTITY() 
// Format your poorly designed PatientId 
SELECT LEFT(CONVERT(NVARCHAR(20), GETDATE(),111),7) +'/'+ CAST(@Id AS NVARCHAR(100)); 

//Rinse and repeat 
INSERT INTO PatientId (Junk) VALUES (''); 
SELECT @id = SCOPE_IDENTITY() 
SELECT LEFT(CONVERT(NVARCHAR(20), GETDATE(),111),7) +'/'+ CAST(@Id AS NVARCHAR(100)); 
INSERT INTO PatientId (Junk) VALUES (''); 
SELECT @id = SCOPE_IDENTITY() 
SELECT LEFT(CONVERT(NVARCHAR(20), GETDATE(),111),7) +'/'+ CAST(@Id AS NVARCHAR(100)); 
INSERT INTO PatientId (Junk) VALUES (''); 
SELECT @id = SCOPE_IDENTITY() 
SELECT LEFT(CONVERT(NVARCHAR(20), GETDATE(),111),7) +'/'+ CAST(@Id AS NVARCHAR(100)); 

TRUNCATE TABLE PatientId 


INSERT INTO PatientId (Junk) VALUES (''); 
SELECT @id = SCOPE_IDENTITY() 
SELECT LEFT(CONVERT(NVARCHAR(20), GETDATE(),111),7) +'/'+ CAST(@Id AS NVARCHAR(100)); 
INSERT INTO PatientId (Junk) VALUES (''); 
SELECT @id = SCOPE_IDENTITY() 
SELECT LEFT(CONVERT(NVARCHAR(20), GETDATE(),111),7) +'/'+ CAST(@Id AS NVARCHAR(100)); 
INSERT INTO PatientId (Junk) VALUES (''); 
SELECT @id = SCOPE_IDENTITY() 
SELECT LEFT(CONVERT(NVARCHAR(20), GETDATE(),111),7) +'/'+ CAST(@Id AS NVARCHAR(100)); 
+0

作爲一名優秀的開發人員,你不應該總是給顧客他們想要的東西,因爲他們並不總是知道他們要求什麼。 :> – Dbloch 2015-04-06 20:23:04

+0

感謝您的支持 – prashant 2015-04-07 06:15:01