簡體   English   中英

設置列值等於columnB減去columnA

[英]set column values equals to columnB minus columnA

我希望將MySql列“時間”更新為列“ End_Time” 減去列“ Start_Time”

注意:End_Time和Start_Time為DATETIME格式。

謝謝

試試這個方法

SELECT SEC_TO_TIME(TIMESTAMPDIFF(second,Start_Time,End_Time)) --include sec
or
SELECT SEC_TO_TIME(TIMESTAMPDIFF(minute,Start_Time,End_Time)*60) --diff in minute

eg

SELECT SEC_TO_TIME(TIMESTAMPDIFF(minute,'2016-05-04 10:00:00','2016-05-04 11:29:00')*60)

在這里TIMESTAMPDIFF(minute將返回以分鍾為單位的差異,並將其乘以* 60以獲得秒,並使用SEC_TO_TIME將秒轉換為時間。

在MySQL中使用Datediff函數

看到這里DATEDIFF

您可以使用TIMESTAMPDIFF函數。

SELECT TIMESTAMPDIFF(minute, '2015-06-01 13:13:55', '2015-06-03 10:15:20')

SELECT TIMESTAMPDIFF(second, '2015-06-01 13:13:55', '2015-06-03 10:15:20')

SELECT TIMESTAMPDIFF(hour, '2015-06-01 13:13:55', '2015-06-03 10:15:20')
update table 
set Time = (select 
            to_timestamp(End_Time,'yyyy-mm-dd hh24:mi:ss') - to_timestamp(Start_Time,'yyyy-mm-dd hh24:mi:ss')
            );

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM