Je développe une requête SQL, comme une restriction, je souhaite que la requête renvoie les données du premier jour du dernier mois jusqu'à présent.
Par exemple: Si la requête est exécutée aujourd'hui, la requête ne sera que Données de retour entrées du 01/03/2019 jusqu'à aujourd'hui. p>
Pour ce faire, j'ai créé la restriction suivante: p> Si le mois est "11", l'algorithme retournera "1901001" et non "191001". P> si le mois est "01", l'algorithme retournera "190001" et non "181201". P> Merci pour toute aide. P> P>
3 Réponses :
SF1010.F1_DTDIGT BETWEEN $yourDate AND date_add($yourDate,interval -DAY($yourDate)+1 DAY) This gets dates between your date and the first day of the month. first day logic works by subtracting the DAY part to get first of month.
Cette requête fera la comparaison de votre dtdigit code> avec le premier jour du mois précédent dans la date code> Format: P>
sf1010.f1_dtDigit> = str_to_date (Concat (Année (date_sub (maintenant (), intervalle 1 mois)), '-', mois (date_sub (maintenant (), intervalle 1 mois)), '-' , '1'), '% y-% m-% d') code> p>
date_sub (maintenant (), intervalle 1 mois) code> retourne la date exactement un mois. Nous utilisons cette date pour obtenir le mois précédent li>
année () code> et mois () code> Les fonctions utilisent la date expliquée ci-dessus li>
str_to_date () code> la fonction convertit une chaîne représentant une date à la
Mysql date code> au format, à l'aide du masque (dans cet exemple, il est
'% y-% m-% d' code>). li>
ul>
On dirige-t-il? Ceci suppose que la date n'est pas à l'avenir. Vous pouvez ajouter une autre condition si cela est possible. P> Si vous utilisez SQL Server, vous pouvez faire cette forme étrange de date Arithmétique: P> SF1010.F1_DTDIGT >= dateadd(month, datediff(month, 0, getdate()) - 1, 0)
Pourquoi utilisez-vous
getDate () code>? Il n'est pas pris en charge dans MySQL.Quel DBMS Produit utilisez-vous? "SQL" est juste une langue de requête, pas le nom d'un produit de base de données spécifique. Veuillez ajouter la balise pour le produit de base de données que vous utilisez.