にあなたは少しトリックでそれを変換することができ
感謝。
1)日付がvarchar型
CREATE TABLE `dateconv` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`datestr` varchar(32) DEFAULT NULL,
`i1` int(11) DEFAULT NULL,
`i2` int(11) DEFAULT NULL,
`i3` double DEFAULT NULL,
`i4` int(11) DEFAULT NULL,
`i5` double DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=782 DEFAULT CHARSET=utf8;
2として格納されているこのような表、)を挿入すべてのデータ
insert into dateconv values(781,'13-01-2005',10006,1,2.5,1,4.00);
...
insert into dateconv values(999,'13-01-2005',10006,1,2.5,1,4.00);
)あなたが選択するか、先テーブルにデータを挿入することができ
to:
SELECT
id, STR_TO_DATE(datestr, "%d-%m-%Y"),
i1,i2,i3,i4,i5
FROM dateconv;
挿入する:
INSERT INTO jobs
SELECT
id, STR_TO_DATE(datestr, "%d-%m-%Y"),
i1,i2,i3,i4,i5
FROM dateconv;
alternativの道
をこのような各日付ストリングを中心に機能をSTR_TO_DATEを回す:
insert into jobs values(781,STR_TO_DATE('13-01-2005', "%d-%m-%Y"),10006,1,2.5,1,4.00);
フォーマットが静的である、ここで確認します。http:// SQL Server 2005の脆弱性 –