fonction d'intervalle dans oracle
Requête:
SELECT INTERVAL '300' month,
INTERVAL '54-2' year to month,
INTERVAL ' 11:12:10.1234567' hour to second
FROM DUAL;
La sortie de la requête ci-dessus est:
+25-00,+54-02,+00 11:12:10.1234567
Quelqu'un peut-il m'expliquer comment cette requête est de donner à cette sortie, avec une explication sur la fonction d'intervalle?
OriginalL'auteur Aaaaa | 2011-05-04
Vous devez vous connecter pour publier un commentaire.
INTERVAL
n'est pas une fonction, c'est un mot clé qui introduit un intervalle littérale et ces désigne un type de données. Similaire à ce que les littérauxDATE '2011-05-04'
ouTIMESTAMP '2011-05-04 17:18:19'
sont en train de faire.Des détails sur l'intervalle littéraux
http://docs.oracle.com/cd/E11882_01/server.112/e41084/sql_elements003.htm#SQLRF00221
http://docs.oracle.com/cd/E11882_01/server.112/e41084/expressions009.htm#SQLRF52084
Des détails sur l'intervalle type de données:
http://docs.oracle.com/cd/E11882_01/server.112/e41084/sql_elements001.htm#i128552
OriginalL'auteur a_horse_with_no_name
Intervalle est une fonction qui est utilisée pour déduire ou à ajouter (les jours,les années,les mois,les heures,les minutes et les secondes) à la date donnée.
intervalle '300' mois : 25-0
Raison : 300/12(mois) vous donne le quotient 25 et reste à 0 donc la sortie sera 25-0
intervalle '54-2' année en mois : 54-2
Raison : Comme vous ne l'avez pas mentionné de date, il est comme il est.
si vous utilisez
select sysdate + interval '54-2' année au mois de double;
la sortie sera : 1-12-2066
sydate : 1-10-2012
ainsi, l'ajout de 54 à 12 = 66
et l'ajout de 2 mois d'octobre qui sera déc.
Même avec la dernière option.
OriginalL'auteur Rashmi Rathour