Pourquoi
sélectionnez trunc (to_date ('23 / 06/2017 ',' DD / MM / YYYY '),' DAY ') de dual;
renvoie
19.06.17
au lieu de prévu
23.06.17
?
Nous sommes sur Oracle 11.
3 Réponses :
Votre format est incorrect, devrait être Format DD
:
select trunc(to_date('23/06/2017','DD/MM/YYYY'), 'DD') from dual;
Modèles de format de date pour les fonctions de date ROUND et TRUNC
DDD DD J Jour
Le format DAY
renvoie le jour de départ de la semaine le plus proche. Selon la configuration de votre base de données, cela peut être un dimanche, un lundi (dans votre cas) ...
Vous avez probablement besoin du format DD
à la place.
DAY
tronque au DIMANCHE le plus proche [1 ]
vous pouvez utiliser DD
.
select trunc(to_date('23/06/2017','DD/MM/YYYY'), 'DD') from dual;
Ce n'est pas toujours le dimanche le plus proche partout dans le monde et dépend du paramètre NLS_TERRITORY
. Essayez ALTER SESSION SET nls_territory = 'ROYAUME-UNI';
, la date de sortie sera un lundi.
'DAY'
tronque au début de la semaine: docs.oracle.com/en/database/oracle/oracle-database/12.2/sqlr f / … - mais la question est de savoir pourquoi utilisez-voustrunc ()
pour commencer?sélectionnez to_date ('23 / 06/2017 ',' JJ / MM / AAAA ') de double;
renverrait déjà ce que vous voulez@a_horse_with_no_name
sélectionnez trunc (END_TIME, 'DD') de KROWA
où KROWA est un alias deWITH
clouse. Lorsque je remplacetrunc ()
parto_date ()
j'obtiensl'image au format de date se termine avant de convertir toute la chaîne d'entrée
@adakozu - vous êtes confus en passant une date ou une chaîne. Votre question montre que vous commencez à partir d'une chaîne et que vous la convertissez en une date - avec l'heure à minuit - ce qui rend le
trunc ()
inutile. Si vous partez vraiment d'une variable / colonne de date, alors le tronc a plus de sens (mais avec DD pas DAY); mais ne passez pas quelque chose qui est déjà une date dansto_date ()
. Ce n'est pas ce qui a été suggéré. Nous ne pouvons continuer que sur ce que vous nous avez dit que vous faites - nous ne pouvons pas être blâmés pour offrir des conseils qui ne conviennent pas à ce que vous faites vraiment si cela est très différent ...@AlexPoole J'apprécie tous les conseils. Je garderai mes déclarations plus claires à l'avenir.