SQL 2000 的 smalldatetime 儲存方式只有一種
至於中間要用什麼符號呈現是你自己在撰寫程式的時候去變更的
跟欄位裡儲存的資料無關
smalldatetime精確度只到分
預設為抓系統年月日:
CONVERT(smalldatetime, CONVERT(char(4),YEAR(GETDATE()))+'-'+CONVERT(char(2),MONTH(GETDATE()))+'-'+CONVERT(char(2),DAY(GETDATE())))
預設為抓系統年月日時分:
GETDATE()
--Getdate()
Select Getdate()
--YYYY/MM/DD
Select Convert(varchar(10),Getdate(),111)
--YYYYMMDD
Select Convert(varchar(10),Getdate(),112)
--HH:MM:SS
Select Convert(varchar(8),Getdate(),108)
--HH:MM:SS:mmm
Select Convert(varchar(12),Getdate(),114)
--HHMMSS
Select Replace(Convert(varchar(8),Getdate(),108),':','')
--HHMMSSmmm
Select Replace(Convert(varchar(12),Getdate(),114),':','')
--YYYY/MM/DD HH:MM:SS
Select Replace(Convert(varchar(30),Getdate(),120),'-','/')
--YYYY/MM/DD HH:MM:SS
Select Replace(Convert(varchar(30),Getdate(),121),'-','/')
--YYYY/MM/DD HH:MM:SS
Select Convert(varchar(10),Getdate(),111) + Space(1) + Convert(varchar(8),Getdate(),108)
--YYYYMMDDHHMMSS
Select Convert(varchar(10),Getdate(),112) + Replace(Convert(varchar(8),Getdate(),108),':','')
本問題有更深一層之意義;不單是格式問題,若是日期型態之預設值不同,
insert into table ([date]) values ('06/3/15')
可能 ymd 出現 '2006/03/15' , 也可能出現 '2015/03/06'
沒有留言:
張貼留言