2009-10-27 66 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

条款如果您知道,只有日期会通过参数,使用适当的数据类型是更好,因为它的体积更小,比较可以做得更快。它还可以防止提供无效值。

相关问题