0
我已將DATE列添加到表中,但現在需要使用來自另一列的值填充該DATE列 - 除了原始列是INT。 INT列是mmddyyyy。有沒有一種方法來複制和格式使用將一個MySQL列的值複製到另一個列表,但格式化爲
UPDATE `table` SET int_column = date_column
我已將DATE列添加到表中,但現在需要使用來自另一列的值填充該DATE列 - 除了原始列是INT。 INT列是mmddyyyy。有沒有一種方法來複制和格式使用將一個MySQL列的值複製到另一個列表,但格式化爲
UPDATE `table` SET int_column = date_column
試試這個使用STR_TO_DATE和LPAD功能:
UPDATE `table` SET date_column = str_to_date(lpad(int_column, 8, 0),'%m%d%Y')
爲什麼使用lpad(int_column, 8, 0)
- 當日期,也就是說,02012017,直接鑄造到char會將其轉換爲2012017,對此,str_to_date函數將返回null。 Lpad pad需要0才能使長度爲8,因此輸出02012017,str_to_date函數將正確轉換。