2017-04-11 55 views
0

我想將當前MYSQL表格的日期字段格式(YYMMDD)的內容20170411作爲UNIX TIMESTAMPS(1491920214)作爲新的存在。如何將mysql日期列的現有內容批量移動到不同類型的新日期列表中?

這是可能的作爲一個查詢語句,它會是什麼樣子?或者,我是否必須先轉換現有列的所有數據?

  • 表= wp_postmeta
  • 舊日期字段= old_meta_date
  • 新日期字段= new_meta_date

感謝您事先的熱心幫助。

+0

什麼是原始列的數據類型?你有什麼嘗試?顯示你的代碼不起作用。 –

+0

還沒有嘗試過,因爲我不知道從哪裏開始。目前正在檢查phpMyAdmin中的表格列。 – romu

+0

哪些數據類型是列old_meta_date ??? – scaisEdge

回答

0

尋找你的樣品看起來你的原始列可能是一個varchar

如果是的話,你可以使用

SELECT UNIX_TIMESTAMP(concat(substr(old_meta_date,1,2),'-', 
      substr(old_meta_date,3,2) , '-', 
      substr(old_meta_date,5,2))) 
from wp_postmeta; 

所以更新您可以

update wp_postmeta 
set new_meta_date = UNIX_TIMESTAMP(concat(substr(old_meta_date,1,2),'-', 
        substr(old_meta_date,3,2) , '-', 
        substr(old_meta_date,5,2))); 

或使用強制轉換爲日期

SELECT UNIX_TIMESTAMP(CAST(old_meta_date AS DATE)) 
from wp_postmeta; 

update wp_postmeta 
set new_meta_date = UNIX_TIMESTAMP(CAST(old_meta_date AS DATE)); 
+0

將做一個當前表的備份,並試試這個,謝謝。會讓你知道。 – romu

相關問題