参数数据类型date对于子字符串函数的参数1无效



我试图执行下面的代码,但它抛出我的错误为这种类型的组合。

有谁能告诉我为什么会出现这个错误?

BEGIN
DECLARE @TimeDimensionDate AS DATE
SET @TimeDimensionDate = '1998-01-01'
Select CONVERT ( DATE,REPLACE (@TimeDimensionDate,SUBSTRING (@TimeDimensionDate,6,2),'01')) 
END

谢谢

您试图在日期中使用replace()。这意味着使用本地设置将日期转换为字符串。一种方法是使用121等格式显式地将日期转换为字符串。

另外:

select dateadd(month, 1 - month(@TimeDimensionDate), @TimeDimensionDate)

最新更新