2017-09-11 2 views
0

Je reçois un fichier csv avec des dates au format jj-MMM-aa, par ex.Impala: convertir la chaîne dd-MMM-yy en aaaa-mm-jj

29-17 août

-

Je veux les convertir en yyyy-MM-dd, par exemple

2017-08-29

Il pourrait être juste moi de ne pas avoir googlé la fonction correcte, mais je ne peux pas trouver quoi que ce soit pour faire face à la manière des mois d'MMM écriture, à moins que j'utilisé un recherche/déclaration de cas et diviser la chaîne et le remettre ensemble.

Si quelqu'un pourrait suggérer un meilleur moyen qui serait génial, je suis sûr qu'il doit y en avoir un !!!

Répondre

1

La réponse est:

from_unixtime(unix_timestamp('29-aug-17', 'dd-MMM-yy'), 'yyyy-MM-dd') 
1

exécuter ces requêtes dans impala pour obtenir les résultats souhaités:

select from_unixtime(unix_timestamp('29-aug-17','dd-MMM-yy'),'yyyy-MM-dd');

ou

select to_date(from_unixtime(unix_timestamp('29-aug-17','dd-MMM-yy')));