【发布时间】:2023-04-10 13:26:01
【问题描述】:
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)
我试图将两个日期之间的差异显示在第三列 (datedifference) 上,这也是nvarchar。收到错误说明
将表达式转换为数据类型 nvarchar 时出现算术溢出错误。
当我使用下面的查询时。
update table
set datedifference =
datediff(minute,CONVERT(nvarchar,CAST([createdate] as datetime)),CONVERT(nvarchar,CAST([CE_activity_create_Date]as datetime)))
我正在尝试找出 2 个日期之间的差异,以便稍后获得具有最小日期差异的不同(2 级)
【问题讨论】:
-
varchar列有多大?为什么要使用varchar列来存储数值? -
Bad habits to kick : declaring VARCHAR without (length) - 您应该始终为您使用的任何
varchar变量和参数提供长度 -
谢谢大家。这是数据类型的问题。
标签: sql-server tsql math overflow datediff