在 SQL 函数中将 varchar 转换为 Datetime 时出错

Error converting varchar to Datetime in a SQL Function

我正在尝试创建一个函数,将给定的日期字符串转换为所需的 DateTime 格式。 代码是:

Alter function dbo.getDateValue1(@inputdate varchar)
returns varchar
as
begin
declare @inputDateTransformed datetime = CAST(@inputdate AS datetime2)
declare @setDatevalue varchar = convert(varchar,@inputDateTransformed ,112)
return @setDatevalue
end

我调用函数如下:

SELECT dbo.getDateValue1('2022-01-01 18:15:15.600' )

这给了我错误: 从字符串转换日期 and/or 时间时转换失败。

如有任何帮助,我们将不胜感激。

样本:

Create function [dbo].[getDateValue1](@input_date datetime2)  
returns varchar(100)  
begin  
    declare 
    @v_ret varchar(100)

    set @v_ret = CONVERT(varchar, @input_date, 112)
    return @v_ret
end 


SELECT dbo.getDateValue1('2022-01-01 18:15:15.600')
-- Result: 
20220101