laufendes Datum erzeugen

old_di

Benutzer
Beiträge
5
hallo. ich möchte mir gern von mysql alle gültigen datumsangaben in einem intervall erzeugen lassen. hatte das schon mal, aber da komme ich nicht mehr ran :-(

soll dann also eine spalte sein, in der untereinander die tage aufgelistet werden...
 
Werbung:

akretschmer

Datenbank-Guru
Beiträge
9.731
hallo. ich möchte mir gern von mysql alle gültigen datumsangaben in einem intervall erzeugen lassen. hatte das schon mal, aber da komme ich nicht mehr ran :-(

soll dann also eine spalte sein, in der untereinander die tage aufgelistet werden...

Code:
test=# select current_date + s * '1day'::interval from generate_series(0,10)s;
      ?column?
---------------------
2013-11-01 00:00:00
2013-11-02 00:00:00
2013-11-03 00:00:00
2013-11-04 00:00:00
2013-11-05 00:00:00
2013-11-06 00:00:00
2013-11-07 00:00:00
2013-11-08 00:00:00
2013-11-09 00:00:00
2013-11-10 00:00:00
2013-11-11 00:00:00
(11 rows)

oder

Code:
test=*# select (current_date + s * '1day'::interval)::date from generate_series(0,10)s;
    date
------------
2013-11-01
2013-11-02
2013-11-03
2013-11-04
2013-11-05
2013-11-06
2013-11-07
2013-11-08
2013-11-09
2013-11-10
2013-11-11
(11 rows)
 

akretschmer

Datenbank-Guru
Beiträge
9.731
Hallo akretschmer du fleißiger Beutzer. Vielen Dank schon mal für deine Mühe. Leider verstehe ich nur Bahnhof und copy and paste in mein php-myadmin sql fenster geht auch nicht.
deshalb meine bitte: kannst du das ein wenig erläutern?

Jetzt wo Du es sagst: das geht nicht mit MySQL, das kennt diese Funktion nicht. Wie so vieles nicht ...
 

old_di

Benutzer
Beiträge
5
ich hätte schwören können, dass ich eine lösung dafür schon mal hatte. nicht selbst erdacht, sondern bekommen. aber ich kriegs nicht mehr auf die reihe wo wann ... :) egal. vielen dank, dann muss ich das mit php lösen.
 

old_di

Benutzer
Beiträge
5
ich glaub es nicht, ja!!!!!!!!!!! :)

SELECT CURDATE( ) + INTERVAL a.s
DAY AS DATE
FROM (SELECT LPAD( hi.n *16 + lo.n, 3, ' ' ) AS s
FROM generator_16 lo, generator_16 hi
) AS a

den generator muss man vorher erzeugen:
CREATE OR REPLACE VIEW generator_16 AS SELECT 0 n UNION ALL SELECT 1 UNION ALL SELECT 2 UNION ALL SELECT 3 UNION ALL SELECT 4 UNION ALL SELECT 5 UNION ALL SELECT 6 UNION ALL SELECT 7 UNION ALL SELECT 8 UNION ALL SELECT 9 UNION ALL SELECT 10 UNION ALL SELECT 11 UNION ALL SELECT 12 UNION ALL SELECT 13 UNION ALL SELECT 14 UNION ALL SELECT 15;

ich vermute mal, dass der generator nach einem boot weg ist... ?
 
Werbung:

akretschmer

Datenbank-Guru
Beiträge
9.731
ich glaub es nicht, ja!!!!!!!
...

ich vermute mal, dass der generator nach einem boot weg ist... ?

Ähm, nö, auch bei MySQL sollte ein VIEW einen Neustart überleben. Ist natürlich schon etwas aufwändiger als eine fertige Funktion, und dürfte bei großen Mengen an zu erzeugenden Zahlen auch nicht super performant sein. Aber wer MySQL nutzt, ...
 
Oben