oracle systimestamp (sysdate) en millisecondes
Pourrait vous fournir l'implémentation de la fonction stockée à obtenir en cours systimestamp
comme le nombre de millisecondes.
Quelque chose que je peux utiliser comme
select current_time_ms from dual;
et obtenez la différence, mesurée en millisecondes, entre l'heure actuelle et à minuit, le 1er janvier 1970 UTC.
Grâce.
Regardez stackoverflow.com/questions/5881235/.... Il est plus court et plus rapide réponse.
OriginalL'auteur Mykhaylo Adamovych | 2011-08-22
Vous devez vous connecter pour publier un commentaire.
ALTER SESSION SET TIME_ZONE = '+ 08:00'
ou similaire. Correctif semble facile: remplacerfrom(systimestamp...
avecfrom(sys_extract_utc(systimestamp)...
dans votre expression.corrigé, merci.
J'ai écrit "pure Java" version (voir ma réponse). À mon grand étonnement, dans l'essai très simple, la version de Java a été beaucoup plus rapide que le PL/SQL.
neat approche, voté 😉
OriginalL'auteur Mykhaylo Adamovych
La meilleure chose que je connaisse est:
Je ne suis pas tout à fait sûr de ce que les besoins que vous avez au sujet de fuseau horaire. Vous pourriez avoir besoin de faire des ajustements mineurs pour que.
Il est précis à secondes, pas millisecondes
OriginalL'auteur Codo
L'ajout de @Mykhaylo Adamovych réponse (qui semble correct!) voici une approche plus directe de l'utilisation d'oracle Java (c'est à dire pas XE et pas dans AWS RDS). Moins portable (en cas de soins), mais semblait plus rapide dans mon tests.
OriginalL'auteur Piotr Findeisen
Autant que je sache, il n'y a pas de moyen direct pour la réalisation de cet (autre que manuellement l'écriture d'un long-winded de la fonction SQL).
Pourquoi avez-vous besoin de ce particulier?
Vous pouvez utiliser un stockées Java la fonction, puis d'utiliser le Système.getCurrentMillis (), Java offre à vous retourner une valeur en Millisecondes de 1.1.1970 à maintenant.
D'accord, si vous pouvez le faire en SQL, alors vous devriez.
C'est la bonne façon de le faire. Les autres réponses ont bogues subtils, car la ne pas prendre en compte des choses comme les années bissextiles ou des secondes intercalaires.
Vous n'avez pas à écrire de code Java juste pour appeler
System.getCurrentMillis()
puisque vous pouvez appeler ce dernier directement. Voir ma réponse.OriginalL'auteur Ollie
Code ci-dessous donne la différence en millisecondes:
Pour la conversion de millisecondes pour les Heures, les Minutes, les secondes, les modifier et les utiliser en dessous de requête selon le cas:
OriginalL'auteur Nishanthi Grashia
OriginalL'auteur L0uL0u