首页 文章

当日期范围更改为从01-01-0001开始时,DimDate将不会加载

提问于
浏览
1

我已经解决了上一期,谢谢 . 但是,我仍然有下面的问题(上一部分) . 如何将结果转换为DATE数据类型,因为DATETIME不支持'0001-01-01'?我已经尝试了DATETIME2但没有工作,StartDate需要是'0001-01-01' . 任何帮助都是高度适用的 .

DECLARE @CurrentDate DATE ='0001-01-01'

SELECT DATEADD(QQ,DATEDIFF(QQ,0,@ CurrentDate),0)AS FirstDayOfQuarter,DATEADD(QQ,DATEDIFF(QQ,-1,@ CurrentDate), - 1)AS LastDayOfQuarter,CONVERT(VARCHAR(10),DATEADD( WEEK,DATEDIFF(周,0,DATEADD(DAY,(6-DATEPART(DAY,@ CurrentDate)),@ CurrentDate)),0),120)AS FirstMondayOftheMonth


错误信息:

将日期数据类型转换为日期时间数据类型会导致超出范围的值 .

1 回答

  • 0

    Datetime数据类型的范围是从1753年1月1日到9999年12月31日 .

    此处的错误表明您超出了下限或下限 .

    如果必须从0001存储该值,请改用Varchar .

    在我看过的许多实时项目中,它通常从1900-01-01开始,人们将其视为默认的最小日期

相关问题