SQL query for extracting year from a date

前端 未结 5 917
忘了有多久
忘了有多久 2021-02-04 12:17

I am trying to create a query that gets only the year from selected dates. I.e. select ASOFDATE from PSASOFDATE; returns 11/15/2012, but I want only

相关标签:
5条回答
  • 2021-02-04 12:21

    How about this one?

    SELECT TO_CHAR(ASOFDATE, 'YYYY') FROM PSASOFDATE
    
    0 讨论(0)
  • 2021-02-04 12:28

    This worked for me:

    SELECT EXTRACT(YEAR FROM ASOFDATE) FROM PSASOFDATE;
    
    0 讨论(0)
  • 2021-02-04 12:32

    SELECT date_column_name FROM table_name WHERE EXTRACT(YEAR FROM date_column_name) = 2020

    0 讨论(0)
  • 2021-02-04 12:42

    Edit: due to post-tag 'oracle', the first two queries become irrelevant, leaving 3rd query for oracle.

    For MySQL:

    SELECT YEAR(ASOFDATE) FROM PASOFDATE
    

    Editted: In anycase if your date is a String, let's convert it into a proper date format. And select the year out of it.

    SELECT YEAR(STR_TO_DATE(ASOFDATE, '%d-%b-%Y')) FROM PSASOFDATE
    

    Since you are trying Toad, can you check the following code:

    For Oracle:

    SELECT EXTRACT (TO_DATE(YEAR, 'MM/DD/YY') FROM ASOFDATE) FROM PSASOFDATE;
    

    Reference:

    0 讨论(0)
  • 2021-02-04 12:42

    just pass the columnName as parameter of YEAR

    SELECT YEAR(ASOFDATE) from PSASOFDATE;
    

    another is to use DATE_FORMAT

    SELECT DATE_FORMAT(ASOFDATE, '%Y') from PSASOFDATE;
    
    • SQLFiddle Demo

    UPDATE 1

    I bet the value is varchar with the format MM/dd/YYYY, it that's the case,

    SELECT YEAR(STR_TO_DATE('11/15/2012', '%m/%d/%Y'));
    
    • SQLFiddle Demo

    LAST RESORT if all the queries fail

    use SUBSTRING

    SELECT SUBSTRING('11/15/2012', 7, 4)
    
    • SQLFiddle Demo
    0 讨论(0)
提交回复
热议问题