2016-09-13
SQL Server Management Studio (SSMS) 中測試
USE [TestDB] GO INSERT INTO [dbo].[TestTable] ([myname] ,[addr] ,[createtime]) VALUES ('name1','addr1','1753-1-1'); GO select * from TestTable; |
0-1-1 插入後會變成 2000-01-01
1-1-1 插入後會變成 2001-01-01
1753-1-1 可以,1752-12-31 失敗
訊息 242,層級 16,狀態 3,行 4
將 varchar 資料類型轉換成 datetime 資料類型時,產生超出範圍的值。
陳述式已經結束。
********************************************************************************
後來發現有官方資料
日期和時間 (Transact-SQL)
https://msdn.microsoft.com/zh-tw/library/ms187819(v=sql.90).aspx
datetime日期範圍:1753 年 1 月 1 日到 9999 年 12 月 31 日
smalldatetime日期範圍:1900 年 1 月 1 日到 2079 年 6 月 6 日
datetime2 (Transact-SQL)
https://msdn.microsoft.com/zh-tw/library/bb677335(v=sql.120).aspx
日期範圍:0001-01-01 到 9999-12-31,西元 1 年 1 月 1 日到西元 9999 年 12 月 31 日
(完)
相關
DateTime.TryParseExact
Convert.ToDateTime 方法 (System) | Microsoft Learn
沒有留言:
張貼留言