oracle SQL how to remove time from date

前端 未结 5 656
小鲜肉
小鲜肉 2020-12-03 02:48

I have a column named StartDate containing a date in this format: 03-03-2012 15:22

What I need is to convert it to date. It should be looki

相关标签:
5条回答
  • 2020-12-03 03:07

    When you convert your string to a date you need to match the date mask to the format in the string. This includes a time element, which you need to remove with truncation:

    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')
    
    0 讨论(0)
  • 2020-12-03 03:08

    You can use TRUNC on DateTime to remove Time part of the DateTime. So your where clause can be:

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

    The TRUNCATE (datetime) function returns date with the time portion of the day truncated to the unit specified by the format model.

    0 讨论(0)
  • 2020-12-03 03:16

    Try

    SELECT to_char(p1.PA_VALUE,'DD/MM/YYYY') as StartDate,
           to_char(p2.PA_VALUE,'DD/MM/YYYY') as EndDate
       ...
    
    0 讨论(0)
  • 2020-12-03 03:18

    We can use TRUNC function in Oracle DB. Here is an example.

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

    Output: 1/1/2018

    0 讨论(0)
  • 2020-12-03 03:22

    If your column with DATE datatype has value like below : -

    value in column : 10-NOV-2005 06:31:00

    Then, You can Use TRUNC function in select query to convert your date-time value to only date like - DD/MM/YYYY or DD-MON-YYYY

    select TRUNC(column_1) from table1;

    result : 10-NOV-2005

    You will see above result - Provided that NLS_DATE_FORMAT is set as like below :-

    Alter session NLS_DATE_FORMAT = 'DD-MON-YYYY HH24:MI:SS';

    0 讨论(0)
提交回复
热议问题