web-dev-qa-db-fra.com

Requête SQL pour extraire l'année d'une date

J'essaie de créer une requête qui n'obtient que l'année des dates sélectionnées. C'est à dire. select ASOFDATE from PSASOFDATE; Retour 11/15/2012, mais je veux seulement 2012. Comment puis-je obtenir seulement l'année? Je sais que la fonction YEAR peut être utilisée, mais je ne sais pas comment.

8
John Doe

Cela a fonctionné pour moi:

SELECT EXTRACT(YEAR FROM ASOFDATE) FROM PSASOFDATE;
26
Gee

Celui-ci, ça va?

SELECT TO_CHAR(ASOFDATE, 'YYYY') FROM PSASOFDATE
17
Juan

passez simplement le nom de colonne comme paramètre de YEAR

SELECT YEAR(ASOFDATE) from PSASOFDATE;

une autre consiste à utiliser DATE_FORMAT

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

MISE À JOUR 1

Je parie que la valeur est varchar au format MM/jj/AAAA, c'est le cas,

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

DERNIÈRE RESORT si toutes les requêtes échouent

utilisez SUBSTRING

SELECT SUBSTRING('11/15/2012', 7, 4)
3
John Woo