J'ai un fichier de traitement par lots qui a été créé pour une base de données Oracle que j'essaie maintenant d'importer dans une base de données MySQL. J'ai dû faire face à toutes sortes d'incohérences entre les deux. Le fichier a toutes les dates comme '17 -NOV-1981 'plutôt que' 1981-11-17 'comme le prévoit MySQL.Modifier le format de date lu par MySQL
Le fichier de commandes contenait la commande ALTER SESSION définie nls_date_format = 'DD-MON-YYYY'; pour définir le format de la date. Existe-t-il un équivalent dans MySQL pour qu'il accepte les dates telles quelles sans avoir à modifier de façon importante le fichier?
J'ai changé la fin de> output.sql mais je n'ai eu exactement même fichier. Les dates n'avaient pas été changées. – thornate
Peut-être que vous avez besoin de modifier la regex pour vos données, je l'ai testé sur un exemple de fichier avant de poster. Pourquoi note poster un fragment de votre SQL? –
Notez qu'il a cherché des guillemets doubles, pour les guillemets simples, vous pourriez aller avec sed 's/"[0-9] [0-9] - \ (JAN \ | FEB \ | MAR \ | APR \ | MAY \ | JUIN \ | JUL \ | AUG \ | SEP \ | OCT \ | NOV \ | DEC \) - [1-2] [0-9] [0-9] [0-9] "/ str_to_date (&,"% d-% b-% Y ")/' –