Sql server 使用dateadd更改格式的sql server更新
如果家人去世,我想将决斗日期推迟一个月 我的日期格式为2015年4月30日。我运行上面的查询,它将以日期为准,并将其更改为201年5月30日。如果我再次尝试运行它,会出现一个错误,说明: “将varchar数据类型转换为datetime数据类型导致值超出范围。”Sql server 使用dateadd更改格式的sql server更新,sql-server,dateadd,Sql Server,Dateadd,如果家人去世,我想将决斗日期推迟一个月 我的日期格式为2015年4月30日。我运行上面的查询,它将以日期为准,并将其更改为201年5月30日。如果我再次尝试运行它,会出现一个错误,说明: “将varchar数据类型转换为datetime数据类型导致值超出范围。” 我认为因为类型是char(10),所以您得到了一个您不想要的转换。您将从CHAR转换为datetime,然后将其存储为CHAR。执行dateadd时,请尝试将其恢复为正确的字符格式,如下所示: update calendar set d
我认为因为类型是char(10),所以您得到了一个您不想要的转换。您将从CHAR转换为datetime,然后将其存储为CHAR。执行dateadd时,请尝试将其恢复为正确的字符格式,如下所示:
update calendar
set duedate = DATEADD(mm,1,duedate)
from calendar as t1
inner join events as t2
on t1.person = t2.[person]
where t2.catastrophy ='FamilyDeath'
CONVERT允许您指定格式,101为“mm/dd/yyyy”
duedate列的数据类型是什么?数据类型是char(10)
set duedate = convert(char(10),dateadd(mm,1,dueDate),101)