La date est au format texte 'AAAA-MM-JJ', je dois maintenant extraire la partie année qui doit être numérique. J'ai besoin de cette conversion pour être faite en une seule étape, depuis que je dois utiliser dans une autre application où je ne peux pas créer de nouvelle variable.
TO_DATE (t0.AESTDTC, 'AAAA-MM-JJ'), 'AAAA-MM-JJ' avec cela, j'ai pu convertir à ce jour, mais maintenant je dois extraire l'année de cette date en une seule étape? Quelqu'un peut-il m'aider?
Essayer
select date_part('year', your_column) from your_table;
ou
select extract(year from your_column) from your_table;
la réponse est;
select date_part('year', timestamp '2001-02-16 20:38:40') as year,
date_part('month', timestamp '2001-02-16 20:38:40') as month,
date_part('day', timestamp '2001-02-16 20:38:40') as day,
date_part('hour', timestamp '2001-02-16 20:38:40') as hour,
date_part('minute', timestamp '2001-02-16 20:38:40') as minute
Choisissez-en un, où :my_date
est un paramètre d'entrée de chaîne de yyyy-MM-dd
format:
SELECT EXTRACT(YEAR FROM CAST(:my_date AS DATE));
ou
SELECT DATE_PART('year', CAST(:my_date AS DATE));
Mieux vaut utiliser CAST
que ::
car il peut y avoir des conflits avec les paramètres d’entrée.