我有一组代码,我从Postgres转向使用MySQL(PHPmyAdmin),它已经有以下格式的插入部分:
INSERT INTO ORD (TOTAL, SHIPDATE, ORDID, ORDERDATE, CUSTID, COMMPLAN)
VALUES ('101.4', '08-JAN-87', '610', '07-JAN-87', '101', 'A');
由于MySQL并不喜欢日期为' 08-JAN-87'它最终会在日期列中显示稿件。
从我迄今为止所做的搜索中,给出的唯一解决方案似乎是在select语句中转换它,以便正确显示。我想知道一种改变数据本身的方法。 (不仅仅是一个选择陈述)
这是针对单一分配的,讲师只能建议手动将所有插入状态更改为它将接受的格式。这可能适用于这种情况,但从长远来看,或者对于更大的数据转储,这是不可能的。
答案 0 :(得分:1)
您需要修改导入,以便为MySQL转换数据字符串
INSERT INTO ORD (TOTAL, SHIPDATE, ORDID, ORDERDATE, CUSTID, COMMPLAN)
VALUES ('101.4', STR_TO_DATE('08-JAN-87', '%d-%b-%y'), '610', STR_TO_DATE('07-JAN-87', '%d-%b-%y'), '101', 'A');
这告诉mysql字符串08-JAN-87是DD-MMM-YY格式的日期,并将其转换为有效的日期数据类型。