2016-04-26 4 views
-6

Ich habe eine Tabelle "empdata" enthält Felder create date, last modified date, emp id. Um die Anzahl zu überprüfen, wird die Abfrage "select count(*) from empdata" ausgeführt. Jetzt brauche ich eine Abfrage, wo ich Ergebnisse bis zum gestrigen Datum bekommen muss.Abfrage, um die Anzahl der Datensätze bis zum vorherigen Tag zu erhalten

zum Beispiel:

select count(*) from empdata 
output: 23 

select count(*) from empdate (Ich brauche Bedingung hier für Datum von gestern)

output:20 

Hinweis: ** Ich brauche diese Abfrage in Java-Programm zu verwenden, so kann ich nicht geben gestriges Datum in Abfrage. Java-Programm laufen wird täglich so wird Datum * täglich gewechselt. *

+1

Nur eine Datenbank zu einem Zeitpunkt oder für eine generische SQL-Lösung zu fragen wäre hier am besten. Auf welchem ​​System laufen Sie? In welcher Spalte steht das Datum? – tadman

+0

nützlicher Link für Sie http://stackoverflow.com/questions/11425236/get-yesterdays-date-using-date – JYoThI

+0

Createate ist Spalte angibt. bin in db2 laufen – Jhansi

Antwort

3

Verwenden Sie diese Abfrage, um die Ergebnisse zu erhalten, te Bedingung, die Sie gefragt haben sollte

wo create_date < current_date()

select count(*) from empdata where create_date<current_date() 
sein

Sie erwähnt haben, dass Sie dieses Programm in Java ausführen möchten, versuchen Sie jdbc

http://www.tutorialspoint.com/jdbc/

edit:

Verwendung CURRENT DATE statt current_date() in der obigen Abfrage für db2

+0

wenn ich renne "wähle Anzahl (*) FROM empdata wo createate Jhansi

+0

Was ist Ihr DB-Server und Version ....? –

+1

Sie müssen DB2 verwenden, es gibt keine Funktion current_date() in db2, verwenden Sie CURRENT DATE, anstatt dass es funktioniert –