我有在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