我的 datediff 悲剧
时间:2010-09-10 来源:ㄟ荖樹炪厊ㄖ
上两段代码

DECLARE @time1 DATETIME
DECLARE @time2 DATETIME
SET @time1 = GETDATE()
DECLARE @num INT
SET @num = 0
WHILE (@num < 10)
BEGIN
SELECT *
FROM sysperfinfo
SET @num = @num + 1
END
SET @time2 = GETDATE()
SELECT DATEDIFF(ms, @time1, @time2) AS '时间'
DECLARE @time3 NVARCHAR(50)
DECLARE @time4 NVARCHAR(50)
SET @time3 = GETDATE()
DECLARE @num2 INT
SET @num2 = 0
WHILE (@num2 < 10)
BEGIN
SELECT *
FROM sysperfinfo
SET @num2 = @num2 + 1
END
SET @time4 = GETDATE()
SELECT DATEDIFF(ms, @time1, @time2) AS '时间'
区别:这两段代码的区别之处在于定义的时间参数类型不一样。
刚测试了几次,发生datediff运算的结果是一样的,但是几天前我测试的执行我项目中的存储过程时,两段代码执行的结果有天壤之别
有待下次测试。
相关阅读 更多 +