PDA

View Full Version : SQL Datum



steven_r
01-06-06, 08:09
hallo zusammen,
wie mache ich in SQL eine Datumsdifferenz, ich habe es so probiert

(Year(Current Date) * 10000 + Month(Current Date) * 100
+ (Day(Current Date) - 7)) as von,
(Year(Current Date) * 10000 + Month(Current Date) * 100
+ Day(Current Date)) as bis

da kommt aber heute bei von
20.060.594
ist auch klar weil es ein nummerischer wert ist aber wie kann ich das machen das immer 7 tage abgezogen werden?

danke im vorraus
steven_r

steven_r
01-06-06, 08:30
hallo habs gefunden
(Year(Current Date - 7 days) * 10000 +
Month(Current Date - 7 days) * 100
+ (Day(Current Date - 7 days))) as von,
(Year(Current Date) * 10000 + Month(Current Date) * 100
+ Day(Current Date)) as bis
so funktionierts
oder gehts besser?

woki
02-06-06, 10:54
wie kann ich das machen das immer 7 tage abgezogen werden?
Wie wäre es mit current date - 7 day?

ThiloSiemon
04-12-06, 09:40
Ich mache das immer so:
Datum in einen String umwandeln 'YYYY-MM-DD'
dann: days(date('YYYY-MM-DD') ==> gibt das Datum als Ganzzahl zurück, beginnend mit 708.205 = 01.01.1940 (Funktion date)
Days ==> 1 = '0001-01-01' {days(date('0001-01-01'))}


Vom 10.01.2006 7 Tage abziehen =

date(days(date('2006-01-10'))- 7) ==> 03.01.06
und, falls der 10.01 als Tag mitzählt =
date((days(date('2006-01-10'))- 7)+1) ==> 04.01.06

steven_r
04-12-06, 10:53
Hallo,

danke für die antworten

select current date - 7 days

funktioniert super
lg
steven_r

B.Hauser
04-12-06, 12:13
Hallo Steven,

nachdem Du nun schon des öfteren Fragen zum Thema Datums-Rechnung mit SQL gestellt hast, würde ich Dir empfehlen mal Kapitel 9 in dem folgenden Redbook zu lesen.
Modernizing IBM eServer iSeries Application Data Access - A Roadmap Cornerstone
(http://www.redbooks.ibm.com/abstracts/sg246393.html?Open)

Da steht alles drin, was beim Rechnen mit Datums- und Zeitwerten mit SQL und RPG möglich ist.

Birgitta

steven_r
04-12-06, 12:16
danke werd ich mir reinziehen

lg
steven_r