Obtenir seulement la date, sans temps dans Oracle
J'ai cette requête sql pour récupérer les données et j'ai cette columd 'pa.fromdate' qui retourne une date et une heure. Comment puis-je obtenir le retour d'seule date en 'DD.MM.AAAA format. J'ai essayé quelque chose comme trunc(to_date(pa.fromdate, 'MM.DD.YYYY'))
. Ne fonctionne pas. Comment puis-je le faire?
SELECT pro.inscatid,
t.epotypeid,
t.paysum,
t.note,
pa.blankno,
pa.blankseria,
pa.signtime,
pa.fromdate,
ca.accnum,
ou.name,
cst.inn,
pkg_customers.GETCUSTOMERFULLNAME(cst.id) cstfio
FROM epo_orders t
LEFT JOIN epo_orderdetails od
ON od.orderid = t.id
AND od.iscanceldoc = -1
LEFT JOIN plc_Agree pa
ON pa.id = od.agreeid
LEFT JOIN pro_products pro
ON pro.id = pa.proid
LEFT JOIN nsk_transferdetails td
ON td.transferid = pa.transferid
AND td.orgtypeid = 4
LEFT JOIN cst_customers cst
ON cst.id = t.cstid
LEFT JOIN cst_cstaccounts ca
ON ca.id = t.cstaccid
LEFT JOIN nsk_orgunits ou
ON td.orgunitid = ou.id
WHERE t.epotypeid IN (159,1010,169,175)
AND rownum <20;
to_char(pa.fromdate, 'MM.DD.YYYY')
- JAMAIS appel to_date()
sur une valeur qui est déjà un DATE
Sur un note: de Nombreuses jointures externes. Vous êtes vraiment intéressé dans les ordres sans les détails de la commande? Ne pas donner le SGBD plus de travail que nécessaire.
Double Possible de oracle SQL, comment faire pour supprimer le temps à partir de la date
OriginalL'auteur JDoeBloke | 2017-05-22
Vous devez vous connecter pour publier un commentaire.
Habituellement, on aurait simplement couper le datetime avec
TRUNC
:Cela supprime le temps de la partie de la date, de sorte que vous obtenez de la simple date. Puis dans votre couche application, vous vous souciez de la façon de l'afficher.
Par exemple, vous avez une interface graphique avec une grille. La grille affiche les dates selon le système de l'utilisateur paramètres (par exemple, Windows les paramètres de région), mais la grille sait que c'est les dates et permet de trier en conséquence. Pour ce faire, vous pensez remplir la grille avec dates, pas avec chaînes représentant une date.
Si vous voulez un fixe de format de chaîne de caractères (par exemple, pour écrire dans un fichier), vous pouvez utiliser
TO_CHAR
à la place:OriginalL'auteur Thorsten Kettner
Essayez d'utiliser
to_char(pa.fromdate, 'MM.DD.YYYY')
, et cela vous donnera le résultat souhaitéOriginalL'auteur Akanksha
ne pas utiliser
to_date()
sur la date de valeur de la colonne, utilisezto_char()
avec masque, comme ceto_date()
?OriginalL'auteur Vecchiasignora
essayer cette
OriginalL'auteur Ersin Gülbahar
Vous pouvez faire usage de
to_char()
de la fonction pour cela. Et vous pouvez utilisertrunc()
pour résoudre votre problème.OriginalL'auteur Shine