繁体   English   中英

SQL Server中的错误消息:从字符串转换日期和/或时间时转换失败

[英]Error message in SQL Server: Conversion failed when converting date and/or time from character string

我需要以小时,分钟,秒为单位计算总持续时间,其中给出了登录时间和注销时间的一些数据。

例如,结果必须类似于“ 01:44:19”。 我们正在使用SQL Server 2008

关于我该怎么做的任何想法?

有关信息,表中的列是int_PK_Id ,'dtm_Date', dtm_Login_Timedtm_Logout_Timedtm_Duration等。

列名称数据类型------------ --------------------- dtm_Date日期

dtm_Login_Time时间(7)

dtm_Logout_Time时间(7)

dtm_Duration时间(7)

我写了这句话:

update PS_Time_Sheet  
set dtm_Duration = convert(varchar(5), DateDiff(s,((convert(datetime,[dtm_Date] ) + convert(datetime,dtm_Login_Time))),getdate())/3600)
  +':'+ convert(varchar(5),DateDiff(s,((convert(datetime,[dtm_Date] ) + convert(datetime,dtm_Login_Time))),getdate())%3600/60)
  +':'+convert (varchar(5), DateDiff(s,((convert(datetime,[dtm_Date]) + convert(datetime,dtm_Login_Time))),getdate())%60) 
where int_PK_Id =2

假设“ dtm”表示日期时间,则可以减去另一个,例如

select logOutDate - logInDate

如果您的工期列仅包含此内容,建议您将其更改为表上的计算列,或使用执行上述操作的视图。 不需要存储这样的导数,并且可能会导致问题,因为您必须确保它在更改时是正确的,等等。

暂无
暂无

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

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