Sql 我如何更新时间>的记录';13:00:00.0';
当我运行查询时,它会更新每个记录,而不是大于指定时间值的记录 timevalue列的格式如下所示Sql 我如何更新时间>的记录';13:00:00.0';,sql,sql-server,datetime,sql-server-2012,Sql,Sql Server,Datetime,Sql Server 2012,当我运行查询时,它会更新每个记录,而不是大于指定时间值的记录 timevalue列的格式如下所示 UPDATE TimeRecord SET activityid = 151 WHERE timevalue >= '13:00:00.0' 如果未指定日期,则默认值为January,01 1900 13:00:00,因此您要求更新timevalue在该日期之后的任何值,这很可能是所有值 您可能希望使用: 2012-05-24 13:00:00.0 您想要时间>13的所有日期还是当前日期
UPDATE TimeRecord
SET activityid = 151
WHERE timevalue >= '13:00:00.0'
如果未指定日期,则默认值为
January,01 1900 13:00:00
,因此您要求更新timevalue
在该日期之后的任何值,这很可能是所有值
您可能希望使用:
2012-05-24 13:00:00.0
您想要时间>13的所有日期还是当前日期?另外,请参见以下答案:您使用的是哪种DBMS?博士后?Oracle?@a_horse_,根据语法它的
不在('Oracle','postgres','msaccess')
可以在('MySQL','sqlserver')
中others@ConradFrix:也可以是Postgres。我同样使用MSSQL(Express 2012),其中CAST(timevalue作为时间)>='13:00:00.0'
UPDATE TimeRecord
SET activityid = 151
WHERE DATEPART(HOUR, timevalue) > 13;