2014-11-22 96 views
-2

在mysql數據庫中我有contact_details表。在該表中的列名created_date2包含以下日期值:更新mysql表列

Formate : m/d y 
----------------- 
10/10/2014 
10/10/2014 
6/19/2013 
6/19/2013 
6/19/2013 
6/19/2013 
6/19/2013 
6/19/2013 
6/19/2013 
6/19/2013 
10/10/2014 
10/10/2014 
10/10/2014 
3/10/2014 

我想更新該列值,其月(M)具有不零(0)到 06,07 08等例如,你可以看到有幾個日期6/19/2013。我想使用sql query來更新它到06/19/2013。有人可以告訴我該怎麼做?

注意:我可以通過手動完成此操作,但存在超過2500行!

+0

數據類型用於該日期如果是數據格式,那麼你就可以保存y/m/d格式 – Rashid 2014-11-22 05:19:40

回答

0

如果你確信,這是第一部分,即每月的部分問題而已,那就試試這個:

UPDATE contact_details 
SET created_date2 = CONCAT('0', created_date2) 
WHERE LENGTH(created_date2) < 10 
+0

感謝您的回覆但不更新。 – Babu 2014-11-22 05:18:17

+0

OPPs。它工作正常。感謝Riad Vhai。 – Babu 2014-11-22 05:19:50

+0

歡迎..... babu – Riad 2014-11-22 05:21:02

0
UPDATE mytable 
    SET col = IFNULL(DATE_FORMAT(STR_TO_DATE(col ,'%m/%d/%Y'),'%m/%d/%Y'), col) 
+0

當前'created_date2'列有char(20)數據類型。我可以將其更改爲'timestamp'數據類型嗎?如果是這樣,那麼它會是'0000000000'? (我想將當前的「日期值」更改爲「時間戳」格式) – Babu 2014-11-22 06:06:16