2009-10-27 62 views
0

我有一個SQL Server存儲過程,它會接受日期作爲輸入參數在it.So其數據類型定義存儲procedure.Whats時,我應該使用的參數構建查詢使用nvarchar(15)和datetime之間的區別。SQL:datetime或VARCHAR作爲參數數據類型存儲過程

1 : create procedure TestProcedure(@startDate datetime) 
     and 
2 : create procedure TestProcedure(@startDate nvarchar(15)) 

它有什麼優勢是我使用的日期時間超過VARCHAR在性能

回答

6

是,始終使用datetime類型。它更準確。日期時間類型也總是8個字節,因此它比15個字符更小。

前端是則用於處理文化/語言環境問題,如MDY,DMY或YMD組件字段排序負責。 (如果數據庫運行在美國語言環境下並且用戶在英國,「3/4/2009」意味着4月3日或3月4日?)

1

條款如果您知道,只有日期會通過參數,使用適當的數據類型是更好,因爲它的體積更小,比較可以做得更快。它還可以防止提供無效值。

相關問題