查询将varchar转换HH:MM以整数分钟在SQL Server 2008(Query to Co

2019-08-17 19:21发布

我有在SQL Server中的表,其中有一列名TimeSpent Datatype Varchar(25) 它基本上存储时间为HH:MM格式。 按要求,现在我想,它给了我在实际分钟即timespent 01:00给了我60,01:30 - > 90.请帮我写在SQL Server 2008中的查询,以便将其转换为varchar(HH: MM)到分钟(整数)。

Answer 1:

尝试

SELECT LTRIM(DATEDIFF(MINUTE, 0, TimeSpent)) 
  FROM yourtable

特定

| TIMESPENT |
-------------
|     00:12 |
|     01:05 |
|     10:00 |

输出:

| MINUTES |
-----------
|      12 |
|      65 |
|     600 |

这里是SQLFiddle



Answer 2:

这将解决您的问题。 请参考SQLFiddle

 select cast(left(TimeSpent, charindex(':',TimeSpent,0)-1) as int)*60+ cast(right(TimeSpent, len(TimeSpent)-charindex(':',TimeSpent, 0)) as int) from test 



Answer 3:

SELECT TOP 1(子串(CONVERT(VARCHAR(5),TimeSpent,108),1,2)* 60 +子(CONVERT(VARCHAR(5),TimeSpent,108),4,2)),如从测试分钟



文章来源: Query to Convert Varchar HH:MM to Integer Minutes in SQL Server 2008