在 C# Console 內把資料秀出來檢查,資料都是唯一的
故意把 Table 內的 Primary Key 拿掉,資料塞進來後發現,秒都不見啦,這就是違反 Primary Key 的主因啦
故意把欄位資料型態從 smalldatetime 改為 char(20) 發現秒是存在的
下 T-SQL 語法把 char 轉為 smalldatetime,秒又歸零啦,到此很確定是資料型態 smlldatetime 的問題啦
查閱 MSDN smalldatetime 說明,才發現 smalldatetime 的精確度只到 "分" 而以,把欄位資料型態轉為 datetime,精確度到 "3.33毫秒",再把資料篩進來,資料就正確啦
smalldatetime 和 datetime 整理
資料型態 | 範圍 | 精確度 |
---|---|---|
datetime | 1753年1月1日到9999年12月31日 | 3.33 毫秒 |
smalldatetime | 1900年1月1日到2079年6月6日 | 分 |
第一次用 C#,一直以為是 ADO.NET 的問題導致秒被裁掉,後來發現問題點還是在較熟悉的 SQL Server 身上,>.< ~~
- 參考資料
- MSDN:smlldatetime、datetime
沒有留言:
張貼留言