從MSDN:
char數據類型是指定的NOT NULL子句當一個固定長度的數據類型。如果將短於列長度的值插入到char NOT NULL列中,則該值將用空格填充到列的大小。例如,如果某列定義爲char(10),並且要存儲的數據是「音樂」,則SQL Server將此數據存儲爲「music_____」,其中「_」表示空格。
嘗試使用VARCHAR,也嘗試不論提
DECLARE @Id as BIGINT;
SElect @Id = REPLACE(CONVERT(varchar(12), GETDATE(), 103), '/', '') + REPLACE(CONVERT(varchar(12), GETDATE(), 108), ':', '')
print @id
你的焦炭是一種在end.so一些空格,你看到你想要的error..if CHAR/VARCHAR的確切大小使用CHAR,必須更換場所,如下面..
DECLARE @Id as BIGINT;
set @Id = replace(REPLACE(CONVERT(char(20), GETDATE(), 103), '/', ''),' ','') + replace(REPLACE(CONVERT(char(20), GETDATE(), 108), ':', ''),' ','')
print @id
試試你的QRY的分別:SELECT REPLACE(CONVERT(CHAR,GETDATE(),103), '/', ''),並檢查結果 – Mate
@Mate我嘗試了,它有效,但是什麼錯了代碼。它在以前工作,但現在它提供了一個錯誤。 – Jostine