对于日期数据类型,参数数据类型日期对于子字符串函数错误的参数1无效

时间:2016-06-27 21:45:34

标签: sql sql-server-2012

我正在尝试执行下面的代码,但它却给我这种组合的错误。

colud任何人让我知道为什么会出现这个错误?

BEGIN
DECLARE @TimeDimensionDate AS DATE

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

END

由于

1 个答案:

答案 0 :(得分:1)

您正在尝试在某个日期使用replace()。这意味着使用本地设置将日期转换为字符串。一种方法是使用诸如121之类的格式将日期显式转换为字符串。

可替换地:

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