Page 1 sur 1

substr sur date dans requete Sql

Posté : 17 juil. 2020, 12:04
par hugo_064
Bonjour à tous,
Je sollicite votre aide pour une requête Sql qui me pose problème.

Dans ma table "orders" j'ai un champ "date_purchased" de type datetime (ex: 2019-07-17 10:45:43).
Et je souhaiterais faire la liste des id de cette table qui datent de l'année dernière au même jour.

Voici ma 1ere requête:

Code : Tout sélectionner

select orders_id, date_purchased from orders where date_purchased = '" . date('Y-m-d', strtotime('-1 year')) . "'
Mais pas de résultat.
J'ai pensé que cela venait des heures:minutes:secondes.

J'ai donc evolué vers :

Code : Tout sélectionner

select orders_id, substr(date_purchased, 0, -11) as date_purchased from orders where date_purchased = '" . date('Y-m-d', strtotime('-1 year')) . "'
Mais toujours pas de résultat.

Avez vous une piste à me conseiller.
Merci à tous

Re: substr sur date dans requete Sql

Posté : 17 juil. 2020, 14:38
par or 1
en utilisant les fonctions DAYOFMONTH() month() year() de mysql
https://dev.mysql.com/doc/refman/8.0/en ... ction_year

Re: substr sur date dans requete Sql

Posté : 17 juil. 2020, 16:58
par hugo_064
Merci "or1" je me penche sur cette piste.

Re: substr sur date dans requete Sql

Posté : 17 juil. 2020, 17:13
par hugo_064
Re,
Je m'en suis pas sorti avec DAYOFMONTH ni DAYOFYEAR, du coups j'ai fait plus simple:

Code : Tout sélectionner

select orders_id, date_purchased from orders where date_purchased >= '" . date('Y-m-d 00:00:00', strtotime('-1 year')) . "' and date_purchased <= '" . date('Y-m-d 23:59:59', strtotime('-1 year')) . "'
Merci d'avoir pris le temps de me renseigner.
Ces fonctions me serviront surement pour d'autres choses.