Requête SQL pour trouver la date est antérieure, la date actuelle et la date du prochain
Si la date actuelle est 3/12/2015, alors j'ai besoin de récupérer les fichiers à partir des dates de 2/12/2015, 3/12/2015, 4/12/2015. Quelqu'un peut me dire une idée de comment le faire?
<%
try
{
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
Connection con = DriverManager.getConnection("jdbc:sqlserver://localhost:1433/CubeHomeTrans","sa","softex");
Statement statement = con.createStatement() ;
ResultSet resultset = statement.executeQuery("
select file from tablename
where date >= DATEADD(day, -1, convert(date, GETDATE()))
and date <= DATEADD(day, +1, convert(date, GETDATE()))") ;
while(resultset.next())
{
String datee =resultset.getString("Date");
out.println(datee);
}
}
catch(SQLException ex){
System.out.println("exception--"+ex);
}
%>
C'est la requête que j'ai fait, mais c'est erroné. J'ai besoin d'obtenir la date est antérieure, la date actuelle et la date du prochain.
- Hace vous essayez d'ajouter une commande par jour -1 jour
- comment? puis-je le faire
Vous devez vous connecter pour publier un commentaire.
Utilisation DATE_ADD() Et DATE_SUB() fonctions:
Essayez ceci:
Vérifier la SQL VIOLON DÉMO
::SORTIE::
DATE
colonne, 'Date` colonne et 1 jour après deDATE
colonne. SiDate
colonne id de la date du jour puis la requête ci-dessus sera de retour aujourd'hui, d'hier et de demain de donnéesid
int,'fichier' string,date
varchar(20)) ; INSERT INTO ForgeRock (id
,'fichier',date
) values (0,dda,'31/12/2015'), (1, cul, 01/01/2016' ), (2, sde,'02/01/2016' ), (3,gff ,'03/01/2016'), (4, sfd,'04/01/2016'), (5, abc ,'05/01/2016') ;Vous pouvez utiliser la fonction dateAdd
syntaxe
je.e pour la date actuelle
pour hier
pour demain
donc, votre requête doit être comme
Façon la plus simple d'obtenir tous ces dates sont comme ci-dessous:-
DATE ACTUELLE
JOUR SUIVANT la DATE de (en Ajoutant 1 à la
dateadd
paramètre pour une journée à l'avance)HIER DATE (Suppression de 1 de la
datediff
paramètre pour un jour de retour)Si vous passez par le lien ici, vous obtiendrez une façon incroyable d'explication pour arriver
date
. Il va effacer votre logique et seront utiles pour l'avenir de référence trop.Espère que vous aide à
date actuelle
hier
lendemain
next day
ne courirSQL server 2005
parce queDate
ne fonctionne pas dans2005
vous pouvez utiliserdatetime
en place dedate
pour que. Reste tout fonctionne bien. Aussi, vous devez mentionner ce qui estdate = (.....