बताए गए तीन चरण @Arkain फंक्शन की मदद से होंगे STR_TO_DATE
-- add the new column
ALTER TABLE `my_table` ADD COLUMN `date_time` DATETIME;
-- update the new column with the help of the function STR_TO_DATE
UPDATE `my_table` SET `date_time` = STR_TO_DATE(`_time`, '%Y%m%d%H%i');
-- drop the old column
ALTER TABLE `my_table` DROP COLUMN `_time`;
STR_TO_DATE के लिए विनिर्देशों की पूरी सूची DATE_FORMAT , यहां उन लोगों के साथ एक अंश है जिनका मैंने उपयोग किया था:
%d Day of the month, numeric (00..31)
%H Hour (00..23)
%i Minutes, numeric (00..59)
%m Month, numeric (00..12)
%Y Year, numeric, four digits
यदि नए कॉलम में NOLL विशेषता होनी चाहिए, तो एक तरीका यह हो सकता है कि ऑपरेशन से पहले sql मोड को '' पर सेट करें और बाद में sql_mode को रीसेट करें:
SET @old_mode = @@sql_mode;
SET @@sql_mode = ''; -- permits zero values in DATETIME columns
ALTER TABLE `my_table` ADD COLUMN `date_time` DATETIME NOT NULL;
UPDATE `my_table` SET `date_time` = STR_TO_DATE(`_time`, '%Y%m%d%H%i');
ALTER TABLE `my_table` DROP COLUMN `_time`;
SET @@sql_mode = @old_mode;