[英]mysql update entire column with column from select query
我在現有數據庫中分隔了“日期和時間”列,現在我想將這兩個列與UTC TimeZone合並在一個DateTime列中。 我通過以下查詢獲取具有日期時間的轉換時間的檢索列
(SELECT convert_tz(t1, @@session.time_zone, '+00:00') FROM (SELECT CONCAT(`cDate`, ' ', `cTime`) AS t1 FROM testTable2) AS t2)
現在,我想更新同一表中的列之一。
UPDATE `testtable2` SET cDateTime = (SELECT convert_tz(t1, @@session.time_zone, '+00:00') FROM (SELECT CONCAT(`cDate`, ' ', `cTime`) AS t1 FROM testTable2) AS t2)
這將無法正常工作,因為它預期會排成一行。 如何不使用任何過程調用或函數來執行此操作? 謝謝你的幫助!
我目前無法測試(我的本地MySQL安裝有問題),但是我看不出為什么您不能簡單地這樣做:
UPDATE testtable2 SET cDateTime = convert_tz(CONCAT(cDate, ' ', cTime), @@session.time_zone, '+00:00')
另外,如果希望該查詢在大量行上或非常頻繁地運行,那么將不進行字符串生成/串聯/解析,而是使用日期時間算法...
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.