2015-11-26 23 views
0

我將分鐘轉換爲日期和小時。當我使用下面的代碼,它工作正常串聯在SQL Server中的函數內部不起作用

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 

,並顯示結果

1 Day(s) 0 Hour(s) 9 Minute(s) 

但是,當我使用它來編寫一個函數,則僅返回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 

Can任何人都可以幫助我,我哪裏錯了?

+1

定義一個參數(或返回值)就像'varchar'(*沒有*定義長度)默認爲** 1個字符**長度..... –

+0

謝謝,我忘了相同。 –

回答

5

變化

RETURNS varchar 

RETURNS varchar(200) 

我假設它只會返回一個字符,否則

+1

感謝它的工作! –

+0

很高興幫助@MandeepSingh – tshoemake

1

你是它返回一個varchar

更改爲

RETURNS varchar(200) 
相關問題