Je veux ajouter 10 secondes à current_timestamp
dans mon script PL/SQL. J'ai essayé le code ci-dessous mais sa sortie n'est pas au format d'horodatage.
SELECT CURRENT_TIMESTAMP+1/24/60/6 FROM dual;
Sortie:
CURRENT_TIMESTAMP+1/24/60/6
---------------------------
28-AUG-15
Existe-t-il une fonction similaire à TIMESTAMPADD dans le serveur Mysql?
Dans Oracle, si vous voulez un timestamp
comme résultat, plutôt qu'un date
(un date
inclut toujours l'heure à la seconde, cependant, vous pouvez donc simplement vouloir un date
), vous souhaitez ajouter un interval
au timestamp
. Il existe différentes façons de construire un intervalle - vous pouvez utiliser un littéral d'intervalle
select current_timestamp + interval '10' second
from dual
ou vous pouvez utiliser la fonction numtodsinterval
select current_timestamp + numToDSInterval( 10, 'second' )
from dual
Cela peut être réalisé en utilisant TO_CHAR
Select TO_CHAR(current_timestamp,'DD-MM-YY hh24:mi:SS') AS TIMESTAMP,
TO_CHAR(current_timestamp+10/24/60/60,'DD-MM-YY hh24:mi:SS') AS TIMESTAMP_PLUS_10SEC
from dual;
SORTIE:
TIMESTAMP TIMESTAMP_PLUS_10SEC
31-08-15 05:17:19 31-08-15 05:17:29