我在yyyymmdd格式的变量中有一个硬编码日期
DECLARE @StartDate = 20160101;
现在我想在这个日期添加365天。
当我这样做20160101 + 365时,它输出错误输出20160466,它应该在我添加365天之后给出答案,我认为是20160102
请告诉我如何在DECLARE变量的SQL服务器中执行此操作?我希望以yyyymmdd格式输出
谢谢,
艾登
答案 0 :(得分:3)
DECLARE @StartDate INT = '20161117';
select convert(varchar,CONVERT(datetime,convert(char(8),@StartDate))+365,112)
答案 1 :(得分:1)
将日期放在引号中,然后使用DATEADD
:
DECLARE @StartDate = '2016-01-01';
SELECT DATEADD (day, 365, @StartDate)
FROM yourTable
答案 2 :(得分:1)
DECLARE @Date DATE= '20160101'SELECT DATEADD(DAY,365,@Date)
FOR INT DATA TYPE :
DECLARE @Date INT = '20160101'
SELECT DATEADD(DAY,365,CONVERT (DATETIME,CONVERT(CHAR(8),@Date)))
答案 3 :(得分:-1)
DECLARE @StartDate INT = 20161117;
select cast(将(varchar,cast(@StartDate as varchar)as datetime)+366,112)转换为INT)