繁体   English   中英

SQL更新命令中的DATEADD和@Var

[英]DATEADD and @Var in SQL Update Command

我想用以下命令更新time(0)列。 (VS 2015中的SQLDataSource

UPDATE       tb_reported
SET                Time = DATEADD(Hour, @Quantity, Time)
WHERE        (EmpShort = @EmpShort) AND (Date = @Date) AND (Time > @Time)

当我测试命令(运行查询)时,它会问我4个参数的值。 对于@Quantity我使用例如“ 2”增加2小时。 然后,我单击“确定”,并收到有关@Quantity参数格式的错误消息:

“错误消息:参数值无法从十进制转换为TimeSpan”

当我使用例如“ 2”而不是@Quantity ,更新运行不会出现问题。

我该怎么做才能解决此问题?

第一次尝试宣告@Quantity或者可以说@Time

DECLARE @Time BIGINT();
@Time = DATEADD(Hour, '2', Time);

新的SQL:

UPDATE tb_reported
SET    Time = @Time
WHERE  (EmpShort = @EmpShort) 
       AND (Date = @Date) 
       AND (Time > @Time)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM