Je dois afficher les dernières ET dernières périodes de paie basées sur un tableau importé pour les dates de paye bihebdomadaires. Le tableau ressemble à ceci:Affichage de la période de paie actuelle et précédente dans SQL (basée sur une table importée)
2017-03-23 00:00:00 2017-04-06 00:00:00
2017-04-07 00:00:00 2017-04-20 00:00:00
2017-04-21 00:00:00 2017-05-06 00:00:00
2017-05-07 00:00:00 2017-05-20 00:00:00
2017-05-21 00:00:00 2017-06-05 00:00:00
2017-06-06 00:00:00 2017-06-22 00:00:00
2017-06-23 00:00:00 2017-07-06 00:00:00
2017-07-07 00:00:00 2017-07-21 00:00:00
Ce code:
SELECT *
FROM
table1
WHERE
(start_date <= now() AND end_date >= now())
Affiche:
2017-06-06 00:00:00 2017-06-22 00:00:00
Comment puis-je afficher la période de paie précédente? Tels que:
2017-05-21 00:00:00 2017-06-05 00:00:00
Ce code ne vient même pas l'air bien, mais je l'ai essayé de toute façon:
SELECT start_date,
CASE
WHEN start_date = now() THEN start_date = now() - 1
WHEN end_date = now() THEN start_date = now() - 1
END
FROM table1;
Je sais qu'il ya un moyen d'utiliser CASE WHEN
mais pour une raison quelconque, je ne peut pas obtenir la bonne syntaxe en utilisant now()
puisque je veux que ce soit dynamique et non une date statique.
Quelle base de données SQL? – maSTAShuFu
@maSTAShuFu pourriez-vous élaborer? – codemonkey
si personne ne vous donnera une réponse je peux probablement écrire mais plus tard – maSTAShuFu