Level1 Level2 createdate CCcreatedate datedifference
23 | 3 | 10/24/2014 17:07 | 10/24/2014 17:07
24 | 3 | 10/24/2014 23:48 | 10/25/2014 17:07
25 | 3 | 10/25/2014 9:57 | 10/26/2014 17:07
26 | 1 | 10/26/2014 17:49 | 10/27/2014 17:07
27 | 1 | 10/16/2014 12:53 | 10/28/2014 17:07
28 | 1 | 10/16/2014 12:32 | 10/29/2014 17:07
29 | 2 | 10/16/2014 13:58 | 10/30/2014 17:07
30 | 2 | 10/16/2014 16:40 | 10/31/2014 17:07
31 | 2 | 10/16/2014 20:28 | 11/1/2014 17:07
32 | 2 | 10/15/2014 17:09 | 11/2/2014 17:07
我有一个5列的表,其中2个是日期。一个宣布为nvarchar
(createdate
),另一个为datetime
(CCcreatedate
) 我想获得2日期之间的差异显示在第3列(datedifference
),这也是nvarchar
。获取错误说明“试图获得datediff时将表达式转换为数据类型nvarchar的算术溢出错误”
将表达式转换为数据类型为nvarchar的算术溢出错误。
当我使用下面的查询。
update table
set datedifference =
datediff(minute,CONVERT(nvarchar,CAST([createdate] as datetime)),CONVERT(nvarchar,CAST([CE_activity_create_Date]as datetime)))
我试图找到两个日期之间的区别,所以我可以在以后得到最小datedifference的不同(2级)
有多大'varchar'列?你为什么使用'varchar'列来存储数值? – 2014-11-05 22:23:43
[不良习惯踢:声明VARCHAR没有(长度)](http://sqlblog.com/blogs/aaron_bertrand/archive/2009/10/09/bad-habits-to-kick-declaring-varchar-without-length .aspx) - 你应该**总是**为你使用的任何'varchar'变量和参数提供一个长度 – 2014-11-06 06:07:21
谢谢你们。这是数据类型的问题。 – HarryS 2014-11-07 18:56:09