我创建了一个 SQL Server 函数,将 varchar 转换为小数,但它删除了数字,然后返回一个整数。
Create FUNCTION [dbo].[ToMoney]
(
@Amount nvarchar
)
RETURNS decimal(14,2)
AS
BEGIN
-- Declare the return variable here
DECLARE @finalAmount as decimal(14,2);
IF Isnumeric(isnull(@amount, 0)) = 1
SET @finalAmount = CAST(@amount as decimal(14,2))
ELSE
SET @finalAmount = 0
-- Return the result of the function
RETURN @finalAmount;
END
当我运行以下查询时:
SELECT dbo.ToMoney('123.45') as result
结果是“1.00”
我希望它以小数形式返回 123.45。我究竟做错了什么?