函数第一个参数为4位数字的字符串表示的时间(小时分钟),比如01245,表示1点45分,第二个参数表示经过的时间(分钟),要写一个函数,得到经过一定时间后的小时分钟字符串,比如 GetTimeString(0145,40)=0225,请问怎么写?谢谢
------解决方案--------------------
dateadd()
select DATEADD(MINUTE,40,(SUBSTRING('0145',1,2)+':'+SUBSTRING('0145',3,2)))
------解决方案--------------------
--簡化一下:
CREATE FUNCTION [dbo].[GetTimeString]
(
@p1 CHAR(4),@p2 int
)
RETURNS CHAR(4)
AS
BEGIN
RETURN REPLACE(RIGHT(CONVERT(CHAR(16),DATEADD(minute,@p2,LEFT(@p1,2)+':'+RIGHT(@p1,2)),120),5),':','')
END
go
SELECT dbo.GetTimeString('0145',40)