La ruche est unix_timestamp et from_unixtime fonctions
J'ai l'impression que unix_timestamp et from_unixtime Ruche fonctions sont de "renverser" les uns des autres.
Quand j'essaie de convertir le timestamp de la chaîne de secondes dans la Ruche:
SELECT unix_timestamp('10-Jun-15 10.00.00.000000 AM', 'dd-MMM-yy hh.mm.ss.MS a');
- Je obtenir 1418176800.
Quand j'essaie de convertir 1418176800 d'horodatage de la chaîne:
SELECT from_unixtime(1418176800, 'dd-MMM-yy hh.mm.ss.MS a');
Je reçois 10-Déc-14 10.00.00.120 SUIS, qui n'est évidemment pas identique à l'originale.
Quelqu'un peut m'expliquer ce qu'il se passe? Merci.
OriginalL'auteur menorah84 | 2015-07-29
Vous devez vous connecter pour publier un commentaire.
De la langue du manuel:
Votre résultat de changements avec les millisecondes à partie de la date, mais l'unix uniquement à des fonctions de soutien secondes. Par exemple:
SELECT unix_timestamp('10-Jun-15 10.00.00 AM', 'dd-MMM-yy hh.mm.ss a');
1433930400
SELECT from_unixtime(1433930400, 'dd-MMM-yy hh.mm.ss a');
10-Juin-15 10.00.00 SUIS
ss
au lieu deMS
. Ça fonctionne maintenant.OriginalL'auteur Tom
Ne pas utiliser de unix_timestamp que vous avez dans votre deuxième question. En plus de votre déclaration a une mise en forme qui donne le résultat où le DEC est utilisé dans les rades de 12. Voir jj-MMM-yy. Ne pas spécifier un format et cela devrait fonctionner. Voir les exemples ci-dessous.
Vous sont aussi correctes que from_unixtime() et unix_timestamp() sont utilisées pour convertir les allers et retours à partir du temps de chaîne.
résultats dans "1428566666"
résultats dans "2015-04-09 03:04:26"
OriginalL'auteur invoketheshell