![](/img/trans.png)
[英]SQL Server ISDATE before conversion returns error “Conversion failed when converting date and/or time from character string”
[英]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_Time
, dtm_Logout_Time
, dtm_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.