使用DATEADD转换日期时转换失败

时间:2017-02-01 23:28:15

标签: sql sql-server tsql dateadd

我正在使用此查询:

NSError

当我跑步时,请给我发送以下信息:

  

从字符串转换日期和/或时间时转换失败。

我知道这是按日期时间,但我找不到答案。

3 个答案:

答案 0 :(得分:0)

问题的最可能原因是Fechaini存储为字符串而不是日期。这是错误的数据类型。您应该使用适当的内置数据类型,除非您有充分的理由不这样做。

在SQL Server 2012+中,您可以看到导致问题的值:

select Fechaini
from [Pru].[dbo].[Registro_EQ]
where try_convert(date, Fechaini) is null;

然后您应该修复您的数据。最好的方法是将数据更改为正确的类型(日期或日期时间类型)。

答案 1 :(得分:0)

Insert Into上的顺序是Codigo,Fechtran,Fechaini,Fechaexp,IDCONF,在选择顺序不同,Fecha,Fecha2,Codigo,Fechtran,IDCONF。

因此,您最有可能将数据插入错误的列。

答案 2 :(得分:0)

第一次执行没有插入的选择查询,如果错误消失,那么您将从select中插入错误的格式日期到目标表

第二,如果你从选择查询中得到错误,你必须确保字段的格式" fechaini"是日期,如果它不确保包含的所有数据都是日期格式,并且不应包含空字符串。