web-dev-qa-db-fra.com

oracle SQL comment enlever l'heure de la date

J'ai une colonne nommée StartDate contenant une date dans ce format: 03-03-2012 15:22

Ce dont j'ai besoin, c'est de le convertir au jour. Il devrait ressembler à ceci: DD/MM/YYYY

Ce que j'ai essayé sans succès est:

select 
p1.PA_VALUE as StartDate,
p2.PA_VALUE as EndDate
from WP_Work p 
LEFT JOIN PARAMETER p1 on p1.WP_ID=p.WP_ID AND p1.NAME = 'StartDate'
LEFT JOIN PARAMETER p2 on p2.WP_ID=p.WP_ID AND p2.NAME = 'Date_To'
WHERE p.TYPE = 'EventManagement2'
AND TO_DATE(p1.PA_VALUE, 'DD/MM/YYYY') >= TO_DATE('25/10/2012', 'DD/MM/YYYY')
AND TO_DATE(p2.PA_VALUE, 'DD/MM/YYYY') <= TO_DATE('26/10/2012', 'DD/MM/YYYY')

Y a-t-il un moyen de faire cela?

EDIT1: le PA_VALUE La colonne est: VARCHAR2

38
Slim

Lorsque vous convertissez votre chaîne en date, vous devez faire correspondre le masque de date au format de la chaîne. Cela inclut un élément temporel que vous devez supprimer avec la troncature:

select 
    p1.PA_VALUE as StartDate,
    p2.PA_VALUE as EndDate
from WP_Work p 
LEFT JOIN PARAMETER p1 on p1.WP_ID=p.WP_ID AND p1.NAME = 'StartDate'
LEFT JOIN PARAMETER p2 on p2.WP_ID=p.WP_ID AND p2.NAME = 'Date_To'
WHERE p.TYPE = 'EventManagement2'
AND trunc(TO_DATE(p1.PA_VALUE, 'DD-MM-YYYY HH24:MI')) >= TO_DATE('25/10/2012', 'DD/MM/YYYY')
AND trunc(TO_DATE(p2.PA_VALUE, 'DD-MM-YYYY HH24:MI')) <= TO_DATE('26/10/2012', 'DD/MM/YYYY')
21
APC

Vous pouvez utiliser TRONC sur DateTime pour supprimer la partie heure de DateTime. Donc, votre clause where peut être:

AND TRUNC(p1.PA_VALUE) >= TO_DATE('25/10/2012', 'DD/MM/YYYY')

La fonction TRUNCATE (datetime) renvoie la date avec la partie heure du jour tronquée à l'unité spécifiée par le modèle de format.

51
Habib

Nous pouvons utiliser la fonction TRUNC dans Oracle DB. Voici un exemple.

SELECT TRUNC(TO_DATE('01 Jan 2018 08:00:00','DD-MON-YYYY HH24:MI:SS')) FROM DUAL

Sortie: 1/1/2018

5
Jar Yit

Essayer

SELECT to_char(p1.PA_VALUE,'DD/MM/YYYY') as StartDate,
       to_char(p2.PA_VALUE,'DD/MM/YYYY') as EndDate
   ...
4
pavelpopov