Avatar billede pnr Nybegynder
22. april 2003 - 14:32 Der er 3 kommentarer og
2 løsninger

Sammenligne dato

Jeg henter nogle poster i en database (Access), hver post har en dato, hvis den dato er mere en 6 mdr gammel skal den overskirves. Hvordan laver jeg det smartest?

Kan jeg lave forespørgelsen direkte i sql

eller skal jeg lave sammenlignigen i java

Og hvordan gør jeg?
Avatar billede fsconsult.dk Nybegynder
22. april 2003 - 14:39 #1
Det mest optimale er at lade databasen (eller Access i mangel af bedre) udvælge de poster du er interesseret i.

I MS SQL kan man benytte DATEDIFF funktionen, selvom jeg er ikke 100% sikker på at det hedder det samme i Access.
F.eks.  "SELECT ... WHERE DATEDIFF(MONTH, min_dato, GETDATE()) > 6"

I Java laver du bruger du minDate.compareTo(datoFor6MdrSiden) > 0
Avatar billede arne_v Ekspert
22. april 2003 - 14:39 #2
Jeg ville hente en java.sql.Date med JDBC og så beregne en
java.util.Date som nu minus 6 måneder og så sammenligne.
Avatar billede arne_v Ekspert
22. april 2003 - 14:50 #3
Her er et eksempel på hvordan man sammenligner:

import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;

public class MinusSixMonths {
    public static void main(String[] args) {
        Calendar c = new GregorianCalendar();
        c.setTime(new Date());
        c.add(c.MONTH, -6);
        Date now6 = c.getTime();
        java.sql.Date d1 = new java.sql.Date((new Date()).getTime());
        System.out.println(d1 + " " + now6.compareTo(d1));
        java.sql.Date d2 = new java.sql.Date((new Date()).getTime() - 5*30*24*60*60*1000L);
        System.out.println(d2 + " " + now6.compareTo(d2));
        java.sql.Date d3 = new java.sql.Date((new Date()).getTime() - 7*30*24*60*60*1000L);
        System.out.println(d3 + " " + now6.compareTo(d3));
        java.sql.Date d4 = new java.sql.Date((new Date()).getTime() - 100*30*24*60*60*1000L);
        System.out.println(d4 + " " + now6.compareTo(d4));
    }
}

(jeg har bare beregnet nogle java.sql.Date værdier i.s.f. at hente dem
fra en database)
Avatar billede pnr Nybegynder
23. april 2003 - 06:52 #4
Jeg takker for hjælpen!

fsconsult.dk hvis du vil have del i point'ne så smid lige et svar
Avatar billede fsconsult.dk Nybegynder
23. april 2003 - 08:33 #5
jamen velbekomme :-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester