技术开发 频道

一条字符串转换成秒函数


【IT168技术文档】

  今天一朋友问这样的问题:
  如:
  一张表中有一列数据为
  40秒
  1分30秒
  3小时45分29秒
  现在上面的几行转换成可统计的数据,为了统计方便可以都转换成秒。

  解决方法如下:
GO CREATE FUNCTION StringToSecond(@string nvarchar(100)) RETURNS int BEGIN DECLARE @Return int DECLARE @i int SET @i=CHARINDEX('小时',@string) SET @Return=0 IF @i>=1 SELECT @Return=LEFT(@string,@i-1)*60*60,@string=RIGHT(@string,LEN(@string)-@i-1) SET @i=CHARINDEX('',@string) IF @i>=1 SELECT @Return=@Return+LEFT(@string,@i-1)*60,@string=RIGHT(@string,LEN(@string)-@i) SET @i=CHARINDEX('',@string) IF @i>=1 SELECT @Return=@Return+LEFT(@string,@i-1),@string=RIGHT(@string,@i) RETURN @Return END GO declare @d nvarchar(30) SET @d='3小时45分29秒' SELECT dbo.StringToSecond(@d) SET @d='1分30秒' SELECT dbo.StringToSecond(@d) SET @d='40秒' SELECT dbo.StringToSecond(@d) GO DROP FUNCTION StringToSecond
0
相关文章