MySQLにロードしようとしているデータファイルに日付フィールドがありますが、日付フィールドはdd-mon-yy形式であり、MySQLはYYYY-MM-DDしか認識しません。
MySQL LOADまたは他のネイティブユーティリティを使用してDD-MON-YYデータをYYYY-MM-DD形式にロードする方法はありますか?
難しいことではありません。 set
セクションがLOAD DATA INFILE
コマンド。
mysql> create table tst ( datecol datetime );
Query OK, 0 rows affected (0.04 sec)
mysql>
ファイル:
[root@node1 ~]# cat /tmp/tst.dat
01-JAN-03
21-MAR-09
28-FEB-11
[root@node1 ~]#
テスト:
mysql> load data infile '/tmp/tst.dat'
-> into table tst
-> fields terminated by '|'
-> lines terminated by '\n'
-> (@datecol)
-> set
-> datecol = str_to_date(@datecol, '%d-%M-%y');
Query OK, 3 rows affected (0.00 sec)
Records: 3 Deleted: 0 Skipped: 0 Warnings: 0
mysql> select * from tst;
+---------------------+
| datecol |
+---------------------+
| 2003-01-01 00:00:00 |
| 2009-03-21 00:00:00 |
| 2011-02-28 00:00:00 |
+---------------------+
3 rows in set (0.00 sec)
mysql>