使用小数的 Varchar 标量函数 returns only int
Varchar scalar function using decimals returns only int
我正在努力解决这个问题。如果我执行这个
SELECT CONVERT(varchar, CONVERT(datetime, 0.55), 108);
我得到“13:12:00”。
但是,将其放入标量函数中
CREATE FUNCTION [dbo].[t_ExcelToTime] (@Excel decimal (12,8))
RETURNS varchar
AS
BEGIN
DECLARE @Result varchar
SELECT @Result = CONVERT(varchar,CONVERT(datetime, @Excel), 108)
RETURN @Result
END
并将其称为
SELECT [dbo].[t_ExcelToTime](0.55);
returns“1”
我做错了什么?
"returns varchar" 等同于 "returns varchar(1)"。给你的数据类型一个合适的长度。
我正在努力解决这个问题。如果我执行这个
SELECT CONVERT(varchar, CONVERT(datetime, 0.55), 108);
我得到“13:12:00”。
但是,将其放入标量函数中
CREATE FUNCTION [dbo].[t_ExcelToTime] (@Excel decimal (12,8))
RETURNS varchar
AS
BEGIN
DECLARE @Result varchar
SELECT @Result = CONVERT(varchar,CONVERT(datetime, @Excel), 108)
RETURN @Result
END
并将其称为
SELECT [dbo].[t_ExcelToTime](0.55);
returns“1”
我做错了什么?
"returns varchar" 等同于 "returns varchar(1)"。给你的数据类型一个合适的长度。