2016-07-12 9 views
0

Ich habe eine Datei in DB2 mit Kundenname und Geburtsdatum. Ich möchte jeden Tag einen Bericht erstellen, um herauszufinden, wo DOB ​​das heutige Datum ist. Ich möchte das Datum nicht täglich ändern.DOB-Abfrage für tägliche Aktualisierung

Wie kann der Code schreiben?

CREATE TABLE QTEMP.TEST AS (NAME SELECT, DOB FROM EMOQRYCOMP.SSCUSTP WHERE ......

+0

Ich denke, was Sie wirklich wollen, sind Kunden, deren _Monat_ und _Tag_ der Geburt unabhängig vom Jahr größer sind als der heutige Monat und Tag. – mustaccio

+0

DOB kann nie in der Zukunft sein. – danny117

+0

Dies ist zu fälschlicherweise erfasst DOB –

Antwort

0
SELECT NAME, DOB 
FROM EMOQRYCOMP.SSCUSTP 
WHERE DOB > CURRENT_DATE 

CURRENT DATE funktioniert auch, aber ich ziehe die Version mit einem Unterstrich.

+1

Es würde nicht viele Kunden in der Tabelle, die noch nicht geboren wurden ... – mustaccio

+0

@mustaccio ... sollte es nicht sein;) Aber das ist, was das OP gefragt. Anscheinend hat er keine Einschränkung definiert. – Charles

0

nach Abfrage zurückkehren würde alle Zeilen mit dob ​​(Monat und Tag) größer als heute (bis zum Ende des Jahres)

select * 
from QTEMP.TEST 
where (month(dob) = month(current date) and day(dob) > day(current date)) 
    or (month(dob) > month(current date)) 
-1
DECLARE GLOBAL TEMPORARY TABLE session.test as (
SELECT NAME, DOB 
FROM EMOQRYCOMP.SSCUSTP 
WHERE DOB > CURRENT DATE 
) with data with replace not logged 
+0

Warum -1? Diese Lösung funktioniert und speichert die Lösung in qtemp ... [IBM Site-Dokumentation] (https://www.ibm.com/support/knowledgecenter/SSEPGG_9.5.0/com.ibm.db2.luw.sql.ref.doc/doc /r0003272.html) – Esperento57