ので、同じようにMySQLは本当に、そのように日付を認識することはありませんので、あなたは、日付を自分で操作することができます:
SELECT CONCAT(IF(RIGHT(LEFT('010716000000',6),2) < 30, '20', '19'),
RIGHT(LEFT('010716000000',6),2), '-', RIGHT(LEFT('010716000000',4),2),
'-', LEFT('010716000000',2));
だからあなたのクエリは次のようになります。
UPDATE 2001080_t val
SET val.datetimestamp = CONCAT(IF(RIGHT(LEFT(val.NotUsed4,6),2) < 30, '20', '19'),
RIGHT(LEFT(val.NotUsed4,6),2), '-',
RIGHT(LEFT(val.NotUsed4,4),2), '-',
LEFT(val.NotUsed4,2));
あなたは、多くの場合、これをしなければならない場合、私はそれのために機能させるreccomendだろうが:
CREATE FUNCTION hello (myIntDate INT(12))
RETURNS DATETIME
RETURN CONCAT(IF(RIGHT(LEFT(myIntDate,6),2) < 30, '20', '19'),
RIGHT(LEFT(myIntDate,6),2), '-',
RIGHT(LEFT(myIntDate,4),2), '-',
LEFT(myIntDate,2));
編集:今年は> 30であれば、それは1900年の日付と見なされていることサポートが追加されました。 。
1999年以下のインスタンスが存在することはありますか? – Pachonk
http://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html#function_str-to-date – CBroe