Mysql 更新sql以仅在datetime中更改时间
我只想使用sql从datetime更新时间,但它似乎无法工作。更新将从用户处获得,并且只更改时间。 示例2018-10-06 08:00:00更新至2018-10-06 12:00:00用户输入的时间Mysql 更新sql以仅在datetime中更改时间,mysql,sql,datetime,sql-update,Mysql,Sql,Datetime,Sql Update,我只想使用sql从datetime更新时间,但它似乎无法工作。更新将从用户处获得,并且只更改时间。 示例2018-10-06 08:00:00更新至2018-10-06 12:00:00用户输入的时间 $sql3="UPDATE course SET date_start = '$date_start' WHERE date_start = SUBSTRING(date_start,11,17) AND CourseNo =
$sql3="UPDATE course
SET date_start = '$date_start'
WHERE date_start = SUBSTRING(date_start,11,17)
AND CourseNo = '$id1' ";
$hasil3=mysql_query($sql3);
if($hasil3==false)
echo "SQL error:".mysql_error();
else
{
?> <center>
<script language="javascript">
alert("Successfully update!");window.location="studentTimetable.php";
</script>
可以使用以下表达式:
select date('2018-10-06 08:00:00') + interval 12 hour
如果要添加小时/分钟/秒,也可以使用addtime
这应该足够简单,可以放入update语句中,如果您想这样做的话。如果我没弄错的话,您会得到一个字符串格式的输入:,表示一天中的某个时间。您希望将datetime列的时间部分替换为一天中给定的时间 为此,可以先将列向下转换为日期,然后再次向上转换为日期时间。这样,一天中的时间部分变成00:00:00。现在使用date_add添加用户提供给您的日期时间。由于一天中的时间在此之前已归零,因此将生成一个日期时间,其中包含用户输入的一天中的时间
UPDATE elbat
SET nmuloc = date_add(cast(cast(nmuloc AS date) AS datetime), INTERVAL '12:00:00' HOUR_SECOND);
我也有类似的问题 我有很多日期在几秒钟内都不太正确。他们都应该在一小时内结束,即00:00 算出我需要加多少时间我知道我想加几秒钟 现在我可以写一个更新来更正所有稍微偏离的日期。
您的DMB是什么,sql server或mysql或plsql,您是否尝试过使用dateaddSo添加4小时?向所有行添加一些示例表数据和预期结果-作为格式化文本,而不是图像。并向我们展示您当前的查询尝试。您可以在这里找到解决方案:我正在使用mysql。尚未尝试使用dateadd,因为我不知道如何使用。数据应根据用户提示进行更改。
SELECT 60 - DATEPART(SECOND, EndDate), e.*
FROM Events e
WHERE DatePart(SECOND, EndDate) <> 0
UPDATE Events
SET EndDate = DATEADD(SECOND, i.Seconds, i.EndDate)
FROM (
SELECT Id, 60 - DATEPART(SECOND, EndDate) AS Seconds, EndDate
FROM Events e
WHERE DatePart(SECOND, EndDate) <> 0
) i
WHERE
i.ID = Events.ID