Je n'ai pas pu trouver la solution qui donne le premier et le dernier jour du mois précédent avec horodatage. J'espère que cela aide les autres. S'il existe déjà une solution à ce problème, je m'en excuse.
Voici la solution.
SELECT DATEADD(month, DATEDIFF(month, -1, getdate()) - 2, 0) as FirtDayPreviousMonthWithTimeStamp,
DATEADD(ss, -1, DATEADD(month, DATEDIFF(month, 0, getdate()), 0)) as LastDayPreviousMonthWithTimeStamp
Cela renverra ce qui suit si currentdate = '2012-7-31'
résultat: 2012-06-01 00:00:00.000 2012-06-30 23:59:59.000
Cela renverra ce qui suit si currentdate = '2012-1-1'
résultat: 2011-12-01 00:00:00.000 2011-12-31 23:59:59.000
sql-server
datetime
Jay S
la source
la source
Réponses:
la source
-1
enDATEDIFF
jette et erreur celaThe arguments to the following function are not valid: DATEDIFF
Premier jour de la semaine en cours.
Dernier jour de la semaine en cours.
Premier jour de la semaine dernière.
Dernier jour de la semaine dernière.
Premier jour de la semaine prochaine.
Dernier jour de la semaine prochaine.
Premier jour du mois en cours.
Dernier jour du mois en cours.
Dans cet exemple, la date Fonctionne uniquement est 31. et les jours restants ne le sont pas.
Premier jour du mois dernier.
Dernier jour du mois dernier.
Premier jour du mois prochain.
Dernier jour du mois prochain.
Premier jour de l'année en cours.
Dernier jour de l'année en cours.
Premier jour de l'année dernière.
Dernier jour de l'année dernière.
Premier jour de l'année prochaine.
Dernier jour de l'année prochaine.
la source
la source
Solution
Pour calculer réellement les valeurs que vous avez demandées, incluez les éléments suivants dans votre SQL.
Sachez qu'il doit être collé avant toute instruction qui référence les paramètres, mais à partir de ce moment, vous pouvez référencer @FirstDayOfLastMonth et @LastDayOfLastMonth dans votre code.
Exemple
Voyons du code en action:
Exécutez le code ci-dessus pour produire la sortie suivante:
Remarque: gardez à l'esprit que la date d'aujourd'hui pour moi est le 12 septembre 2016 .
Paramètres de date courants
Vous en voulez plus?
Pour configurer une gamme plus complète de paramètres pratiques relatifs aux dates, incluez les éléments suivants dans votre SQL:
Il serait plus judicieux de l'inclure plus tôt, de préférence en haut de votre procédure ou requête SQL.
Une fois déclarés, les paramètres peuvent être référencés n'importe où dans votre code, autant de fois que vous en avez besoin.
Exemple
Voyons du code en action:
Exécutez le code ci-dessus pour produire la sortie suivante:
Si votre pays manque, c'est que je n'en connais pas le code. Il serait très utile et apprécié si vous pouviez modifier cette réponse et ajouter une nouvelle colonne pour votre pays.
Merci d'avance.
Remarque: gardez à l'esprit que la date d'aujourd'hui pour moi est le 12 septembre 2016 .
Références
Pour plus d'informations sur la norme internationale de date ISO8601, suivez ce lien:
Pour plus d'informations sur la norme de date internationale ODBC, suivez ce lien:
Pour voir la liste des formats de date avec lesquels j'ai travaillé, suivez ce lien:
Pour plus d'informations sur le type de données DATETIME, suivez ce lien:
la source
la source
À partir de SQL2012, une nouvelle fonction a été introduite appelée
EOMONTH
. En utilisant cette fonction, le premier et le dernier jour du mois dernier peuvent être facilement trouvés.la source
J'ai utilisé la logique suivante dans les rapports SSRS.
la source
Vous pouvez obtenir le premier et le dernier jour du mois précédent (avec horodatage) dans SQL Server en exécutant
la source
Prenez une date de base qui est le 31 d'un mois, par exemple «20011231». Ensuite, utilisez la
procédure suivante (j'ai donné 3 exemples identiques ci-dessous, seule la valeur @dt diffère).
la source
Voici une manière assez simple et dynamique. Pour le dernier jour du mois dernier, soustrayez le jour numérique actuel de la date du jour. Pour le premier jour du mois dernier, utilisez le même code, répétez simplement en soustrayant le jour numérique du résultat précédent et ajoutez 1.
la source
Pour obtenir le premier rendez-vous du mois dernier:
Pour obtenir la dernière date du mois dernier:
la source
Je n'ai pas encore vu cette solution présentée; c'est ma préférence pour sa lisibilité plus simple:
la source
C'est le moyen le plus simple que je connaisse pour obtenir le premier jour du mois précédent:
Étape 1: déplacer les données vers Postgres
Étape 2:
la source