我已经将Oracle 11g实例中的数据作为insert语句导出。他们需要进入MySQL 5.5实例。在TIMESTAMP转换方面有问题;我知道我可以在MySQL中将TO_TIMESTAMP函数与INSERT语句内联使用;但是,我不确定要使用的正确标志。按线性顺序排列如下: Oracle语句和我尝试的MySQL兼容语句。显然,它不工作(在MySQL状态下,有一个语法错误)。
Oracle:
TO_TIMESTAMP('12/22/2015 5:08:59.245837 PM','fmMMfm/fmDDfm/YYYY fmHH12fm:MI:SS.FF AM')MySQL:
TO_TIMESTAMP('12/22/2015 5:08:59.245837 PM','%m/%d/%Y %h:%i:%s')除了微秒和AM/PM标志之外,我还缺少什么?
发布于 2017-11-13 13:46:12
对于MYSQL: STR_TO_DATE('2/6/2015 5:20:43.000000 AM',‘%c/%d/%Y%l:%i:%s.%f%p’)
发布于 2016-07-22 12:28:32
假设您从SQL Developer导出。
导出整个数据之前,请使用以下命令更改datetime select查询:
TO_CHAR(COLUMN_NAME, 'YYYY-MM-DD HH24:MI:SS') as XXX它将生成MySQL格式的datetime。因此,当您获得insert查询时,可以直接在MySQL上运行
发布于 2019-04-29 16:22:12
如果希望oracle的日期和时间戳与MySql兼容,只需更改会话
ALTER SESSION SET NLS_DATE_FORMAT = 'YYYY-MM-DD HH24:MI:SS'
ALTER SESSION SET NLS_TIMESTAMP_FORMAT = 'YYYY-MM-DD HH:MI:SS.FF'最好是更改会话
https://stackoverflow.com/questions/38125393
复制相似问题