Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/perl/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 使用dateadd更改格式的sql server更新_Sql Server_Dateadd - Fatal编程技术网

Sql server 使用dateadd更改格式的sql server更新

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

如果家人去世,我想将决斗日期推迟一个月

我的日期格式为2015年4月30日。我运行上面的查询,它将以日期为准,并将其更改为201年5月30日。如果我再次尝试运行它,会出现一个错误,说明:

“将varchar数据类型转换为datetime数据类型导致值超出范围。”


我认为因为类型是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)