J'ai 1323648000 qui est INT (10). J'ai besoin de pouvoir le convertir à un format de date de quelque sorte. Quelque chose comme DD / HH / YY HH: MM: SS. J'ai essayé de nous avoir quelques exemples ici, mais je ne peux pas sembler le faire fonctionner. J'ai essayé de le jeter comme un varchar (10) et convertir mais rien. Excel aussi émise #########. Est le nombre incorrect alors?
3 Réponses :
TO_CHAR(column_name, 'DD/MM/YYYY hh:mm:ss')
n'a pas fonctionné :( SELECT engine4_openid_statusstats.openidstat_id, TO_CHAR (CAST (engine4_openid_statusstats.openidstat_time AS varchar (10), 3), 'jj / mm / aaaa hh: mm: ss), engine4_openid_services.openidservice_id, à partir de engine4_openid_services.openidservice_name engine4_openid_statusstats, engine4_openid_services
Cela ressemble à un horodatage basé sur une époque de style unix, c'est-à-dire Nombre de secondes depuis 1970.
La conversion est spécifique à la RDBMS. Avec SQLite, vous feriez P>
select datetime( 1323648000, 'unixepoch' );
Vous étiez correct. C'était un horodatage UNIX. J'ai utilisé 'à partir de Unixtime (moteur4_openid_statusstats.openidstat_time)' et cela a fonctionné. Merci!
Si cela est effectivement stocké comme heure époque (à laquelle il ressemble à cela), ceux-ci sont le nombre de secondes depuis le 01 janvier 1970. Vous pouvez le convertir en DateTime en ajoutant les secondes à cette date.
SELECT DATEADD(SS, 1323648000, '01/01/1970')
Quel rdbms? On dirait que MS SQL Server ...