我将分钟转换为数天和数小时.当我使用以下代码时,它工作正常
declare @theMinutes int
Set @theMinutes = 1449
select cast(@theMinutes / 1440 as varchar)
+ ' Day(s) '+ cast((@theMinutes % 1440 / 60) as varchar)
+ ' Hour(s) '+ cast(@theMinutes % 60 as varchar)
+ ' Minute(s)' AS COLUMN_A
Run Code Online (Sandbox Code Playgroud)
并显示结果
1 Day(s) 0 Hour(s) 9 Minute(s)
Run Code Online (Sandbox Code Playgroud)
但是当我使用它来编写一个函数时,它只返回1,其余的东西都没有连接起来
Create function [dbo].[ConvertMinToDays]
(
@theMinutes int
)
RETURNS varchar
AS
BEGIN
Declare @convertedStr varchar(200)
SET @convertedStr = cast(@theMinutes / 1440 as varchar(10)) + ' Day(s) '
+ cast((@theMinutes % 1440 / 60) as varchar(10))+ ' Hour(s) '
+ cast(@theMinutes % 60 as varchar(10)) + ' Minute(s)';
return @convertedStr;
END
GO
SELECT dbo.ConvertMinToDays(1449) as COLUMN_A
Run Code Online (Sandbox Code Playgroud)
任何人都可以帮助我,我哪里错了?
更改
RETURNS varchar
Run Code Online (Sandbox Code Playgroud)
至
RETURNS varchar(200)
Run Code Online (Sandbox Code Playgroud)
我假设它只会返回一个字符