我已如下定义我的更新查询,以更新日期列。
declare @fromDate date;
set @fromDate = '2019-04-31'
update [dbo].[sites]
set [FromDate]= @fromDate
where siteid=2832
上面给出了以下错误:
从字符转换日期和/或时间时转换失败 字符串。
我在这里做错了什么?
答案 0 :(得分:3)
4月没有31天,如果您通过无效的日期,则会收到错误消息。尝试使用一些有效日期,例如2019-04-30
答案 1 :(得分:0)
是否可行,很可能取决于您在服务器上运行的日期设置。您可以使用CONVERT(datetime, '2019-04-31')
,这会将任何字符串转换为服务器支持的日期时间类型。
答案 2 :(得分:-1)
用法=> SELECT STR_TO_DATE(“ 2017,8,14 10,40,10”,“%Y,%m,%d%h,%i,%s”);
declare @fromDate date;
set @fromDate = STR_TO_DATE("2019,04,31", "%Y,%m,%d");
update [dbo].[sites]
set [FromDate]= @fromDate where siteid=2832
也许这行得通。