phpbar.de logo

Mailinglisten-Archive

[php] Datumsbereich in MySQL

[php] Datumsbereich in MySQL

Thomas Koudela thomas at koudela.net
Fr Apr 27 10:25:06 CEST 2012


Hallo Stephan,

Möglicherweise wenn Du die INSERT-Werte über ein SELECT auswählst
<http://dev.mysql.com/doc/refman/5.1/de/insert-select.html>
und dabei im SELECT einen JOIN
<http://dev.mysql.com/doc/refman/5.1/de/join.html>
über eine temporäre Tabelle nutzst, in welcher Deine Datumswerte stehen.

Ohne Gewähr... So würde zumindest ich es versuchen.

Beste Grüße,
Thomas


Zitat von Stephan Krauß <info at suppenterrine.de>:

> Hallo!
>
> Danke für die Antwort.
> Als endgültiges Ergebnis suche ich eine Lösung mit der ich
> für einen Zeitraum konstante Datensätze eingeben kann.
> Also irgendetwas in Form einer Schleife.
>
> Geht das noch mit einer Query oder muss ich hier eine
> 'procedure' verwenden ?
>
> Mit freundlichen Grüßen
>
> Stephan
>
>> Hi.
>>
>>
>> Zunächst INSERT geht nie mit WHERE zusammen, es sei denn bei einem ON
>> DUPLICATE KEY UPDATE Ausdruck.
>>
>> Wonach Du wahrscheinlichst suchst ist:
>> UPDATE ... SET ... WHERE datum BETWEEN '2012-05-01' AND '2012-05-20' ...
>> kann man auch schreiben als
>> UPDATE ... SET ... WHERE datum >= '2012-05-01' && datum <= '2012-05-20'
>> ...
>>
>> Bei WHERE musst Du statt Kommatas (',') Konjunktionen verwenden ('&&'
>> oder 'AND').
>>
>>
>> Mit besten Grüßen,
>> Thomas
>>
>>
>> Zitat von Stephan Krauß <info at suppenterrine.de>:
>>
>>> Hallo !
>>>
>>> Momentan beschäftige ich mich mit einer SQL Query in MySQL.
>>> Ich habe eine MyISAM Tabelle mit den Spalten 'city', 'street',
>>> 'housenumber' und 'factor'.
>>> Zudem gibt es eine Spalte 'datum' im Format 'date'.
>>>
>>> Nun möchte ich für einen Datumsbereich
>>> den Faktor in Abhängigkeit von 'city', 'street' und 'housenumber'
>>> verändern.
>>>
>>> Folgende Query ist garantiert falsch, soll aber das Problem aufzeigen.
>>> -----------
>>>
>>> INSERT INTO hhs SET
>>>   factor = '0.75'
>>> WHERE
>>>   city = 'myCityY',
>>>   street = 'myStreetY',
>>>   housenumber = '66'
>>> BETWEEN
>>>   datum > 2012-05-01
>>> AND
>>>   datum < 2012-05-20
>>>
>>> -----------
>>>
>>> Kann man das Problem mit einer 'normalen' Query lösen oder
>>> geht es nicht ohne 'procedure'.
>>>
>>> Ich würde mich über eine Info freuen.
>>>
>>>
>>> Mit freundlichen Grüßen
>>>
>>> Stephan
>>>
>>>
>>> --
>>> ** Allgemeine deutschsprachige PHP-Liste: php at phpbar.de **
>>> Informationen: http://www.phpbar.de
>>> http://lists.phpbar.de/mailman/listinfo/php
>>
>> --
>> Thomas Koudela
>> Programmierdienstleistungen von A bis Web
>>
>> Mozartstraße 6
>> D-45529 Hattingen
>>
>> Tel: +49 (0)2324-392320
>> Email: service at koudela.net
>> Internet: http://www.koudela.net
>>
>>
>> --
>> ** Allgemeine deutschsprachige PHP-Liste: php at phpbar.de **
>> Informationen: http://www.phpbar.de
>> http://lists.phpbar.de/mailman/listinfo/php
>>
>>
>
> --
> ** Allgemeine deutschsprachige PHP-Liste: php at phpbar.de **
> Informationen: http://www.phpbar.de
> http://lists.phpbar.de/mailman/listinfo/php

-- 
Thomas Koudela
Programmierdienstleistungen von A bis Web

Mozartstraße 6
D-45529 Hattingen

Tel: +49 (0)2324-392320
Email: service at koudela.net
Internet: http://www.koudela.net



php::bar PHP Wiki   -   Listenarchive