2016-03-21 1 views
-1

J'ai une question. J'ai donc besoin d'obtenir des données des derniers jours en utilisant une requête SQL. Par exemple:Récupérer les données du mois en cours

  1. maintenant la date est 22/08/2016, je dois obtenir des données de 01/08/2016-22/08/2016;
  2. Maintenant la date est 04/06/2016, j'ai besoin d'obtenir des données de 01/06/2016-04/06/2016;

Désolé mais je n'ai pas une idée. Thx à l'avance et désolé pour mon anglais

Répondre

0

besoin d'utiliser quelque chose comme:

YEAR(time) = YEAR(NOW()) 
AND MONTH(time) = MONTH(NOW()) 
0

Vous cherchez quelque chose comme ceci: SELECT * FROM nom_de_table WHERE yourDate.MONTH() = NOW() MOIS.()

Affiner la syntaxe de here.

1

je ferais quelque chose comme ceci:

SELECT <table-columns> FROM <table-name> 
WHERE (<date-column> BETWEEN DATE_FORMAT(NOW() ,'%Y-%m-01') AND NOW()) 

Cette DATE_FORMAT(NOW() ,'%Y-%m-01') retournera la première date de votre mois en cours et l'année.

0

Vous devez obtenir le premier jour du mois pour une date donnée alors, afin de rendre votre comparaison avec la base de données:

select date(concat_ws('-',year(curdate()),lpad(month(curdate()),2,'00'),'01')); vous donne que (pour curdate() ici)