【发布时间】:2019-10-28 09:14:07
【问题描述】:
这是行。
DECLARE @Duration DATETIME = '2019-01-12'
DECLARE @DateFrom DATETIME = CONVERT(DATETIME, DATEADD(dd, -90, CONVERT(VARCHAR(10), @Duration)))
SELECT @DateFrom
这是错误信息
导致将 varchar 数据类型转换为 datetime 数据类型 在一个超出范围的值。
sql 结果为 NULL,但有 1 行受到影响。
【问题讨论】:
-
预期输出?
-
根据经验,您最不想对日期执行的操作是将它们转换为字符串或从字符串转换。
-
@ArvinJohnSalandanan 您在 Delphi 中使用此查询,能否正确更新您的问题?
-
你反复说你在Delphi中实现的时候有问题。然而,您还没有展示您是如何尝试在 Delphi 中实现它的!因此,请展示您尝试过的完整 Delphi 程序代码(包括变量声明),并指出触发错误的行,以及错误的确切含义。正如其他人已经说过的那样,您不需要,也不应该将日期和时间转换为字符串以修改日期。
标签: sql sql-server delphi