我需要两列在表中以下面的方式:SQL日期时间格式化
OverallTime | ElapsedTime
10 | 3:12:30
所以10将是一个天数和3点12分30秒为3天12小时30分钟。 然后,我会需要计算TimeLeft
这将是
OverallTime - ElapsedTime
什么correcy数据类型,它可以在SQL数据库代表呢?
这为SQL Server 2008 R2
我需要两列在表中以下面的方式:SQL日期时间格式化
OverallTime | ElapsedTime
10 | 3:12:30
所以10将是一个天数和3点12分30秒为3天12小时30分钟。 然后,我会需要计算TimeLeft
这将是
OverallTime - ElapsedTime
什么correcy数据类型,它可以在SQL数据库代表呢?
这为SQL Server 2008 R2
对于SQL-服务器:OverallTime = days
和ElapsedTime = 'days:hours:minutes'
declare @d datetime= getdate()
select OverallTime,
OverallTime + ':' + convert(varchar(5), @d, 108) ElapsedTime
from (
select right(convert(varchar(8), @d, 112),2) OverallTime
) x
| OVERALLTIME | ELAPSEDTIME |
-----------------------------
| 07 | 07:17:32 |
如果你的意思是你的约会如图所示,需要找到OverallTime - ElapsedTime
然后尝试(用列名称替换@ot
和@et
);
declare @ot int = 10, @et varchar(10) = '3:12:30'
select datediff(minute,time, OverallTime-days) [OverallTime - ElapsedTime]
from (
select @ot OverallTime, convert(int,left(@et,charindex(':',@et,1)-1)) days,
right(@et, len(@et) - charindex(':',@et,1)) + ':00' time
) x
| OVERALLTIME - ELAPSEDTIME |
-----------------------------
| 9330 |
什么是您使用RDBMS
我想他也想计算'OverallTime'和'elapsedTime'列之间的'TimeLeft' – 2013-03-07 17:41:08
@rs。用户已经消失,给出了两个答案。 – Kaf 2013-03-07 17:55:06
?日期格式可能会因不同的SQL风格而有所不同。 – 2013-03-07 17:25:33
假设SQL-Server:使用datetime数据类型,并根据需要使用datepart()函数将其拉开。 – 2013-03-07 17:26:04
你是什么意思_I需要表中的两列_ – 2013-03-07 17:44:27