Cet article vous apporte des connaissances pertinentes sur Oracle. Il présente principalement certains problèmes liés aux fonctions de date couramment utilisés, notamment SYSDATE, ADD_MONTHS, LAST_DAY, TRUNC, ROUND, etc. J'espère qu'il sera utile à tout le monde.
Tutoriel recommandé : "Tutoriel Oracle"
Cette fonction n'a aucun paramètre et peut obtenir l'heure actuelle du système.
Code de cas :
select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') from dual;
Résultat :
Cette fonction n'a aucun paramètre et peut obtenir l'heure actuelle du système, qui contient des informations de fuseau horaire et est précise à la microseconde près.
Code de cas
select systimestamp from dual;
Résultat :
Cette fonction n'a aucun paramètre d'entrée et renvoie le fuseau horaire de la base de données.
Code cas :
select dbtimezone from dual;
Résultat :
Fonction pour ajouter le mois spécifié à la date :
Cette fonction renvoie le nombre de mois ajoutés à la date spécifiée r La date après le n. Où
r : la date indiquée.
n : Le nombre de mois à ajouter. Si N est un nombre négatif, cela signifie le nombre de mois à soustraire.
Code de cas :
select to_char(add_months(to_date('2018-11-12', 'yyyy-mm-dd'), 1), 'yyyy-mm-dd'), to_char(add_months(to_date('2018-10-31', 'yyyy-mm-dd'), 1), 'yyyy-mm-dd'), to_char(add_months(to_date('2018-09-30', 'yyyy-mm-dd'), 1), 'yyyy-mm-dd') from dual;
Résultat : (Si la date spécifiée est le dernier jour du mois, le dernier jour du nouveau mois sera renvoyé. Si le nouveau mois a moins de jours que le mois spécifié, la date valide sera être automatiquement rappelé)
Renvoie le dernier jour du mois en cours pour la date r spécifiée.
Code de cas :
select last_day(sysdate) from dual;
Résultat :
Fonction de date pour la semaine après la date spécifiée :
Renvoie le caractère de date (c) pour la semaine après la date R spécifiée : Indique le jour de la semaine) date correspondante.
Code de cas :
select next_day(to_date('2018-11-12','yyyy-mm-dd'),'星期四') from dual;
Résultat :
Renvoie l'année, le mois, le jour et les parties de date divisées de la heure spécifiée.
Code cas :
select extract(year from timestamp '2018-11-12 15:36:01') as year, extract(month from timestamp '2018-11-12 15:36:01') as month, extract(day from timestamp '2018-11-12 15:36:01') as day, extract(minute from timestamp '2018-11-12 15:36:01') as minute, extract(second from timestamp '2018-11-12 15:36:01') as second from dual;
Résultat :
Renvoie le nombre de mois entre deux dates :
Cette fonction renvoie les mois directs de la date r1 et de la date r2. Lorsque r1>r2, un nombre positif est renvoyé. Si r1 et r2 sont le même jour dans des mois différents, un nombre entier est renvoyé, sinon une décimale est renvoyée. Lorsque r1 Code cas : Résultat : arrondit la date r selon le format de f. Si f n’est pas renseigné, il sera arrondi au jour le plus proche. Code cas : Résultat : intercepte la date r au format f. Si f n'est pas renseigné, la date du jour sera interceptée. Code de cas : Résultat : Tutoriel recommandé : "Tutoriel Oracle Learning" Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!select months_between(to_date('2018-11-12', 'yyyy-mm-dd'),
to_date('2017-11-12', 'yyyy-mm-dd')) as zs, --整数
months_between(to_date('2018-11-12', 'yyyy-mm-dd'),
to_date('2017-10-11', 'yyyy-mm-dd')) as xs, --小数
months_between(to_date('2017-11-12', 'yyyy-mm-dd'),
to_date('2018-10-12', 'yyyy-mm-dd')) as fs --负数
from dual;
Fonction d'interception de date
Fonction ROND (r[,f])
select sysdate, --当前时间
round(sysdate, 'yyyy') as year, --按年
round(sysdate, 'mm') as month, --按月
round(sysdate, 'dd') as day, --按天
round(sysdate) as mr_day, --默认不填按天
round(sysdate, 'hh24') as hour --按小时
from dual;
La fonction TRUNC(r[,f])
select sysdate, --当前时间
trunc(sysdate, 'yyyy') as year, --按年
trunc(sysdate, 'mm') as month, --按月
trunc(sysdate, 'dd') as day, --按天
trunc(sysdate) as mr_day, --默认不填按天
trunc(sysdate, 'hh24') as hour --按小时
from dual;