in reply to MySQL query question...

MySQL has a ton of Date and Time Functions. I do not understand why you need a separate table to store dates in though.

Replies are listed 'Best First'.
Re^2: MySQL query question...
by Cody Pendant (Prior) on Aug 10, 2005 at 02:14 UTC
    I agree. To use SQL to select every Wednesday between date X and date Y ought to be trivial. Something like
    SELECT * FROM your_table WHERE your_date_column BETWEEN X and Y AND DAYOFWEEK(your_date_column) = 4
    (untested) should do it.


    ($_='kkvvttuu bbooppuuiiffss qqffssmm iibbddllffss')
    =~y~b-v~a-z~s; print
      Well, that does do it, but you still need a table (your_table) containing a list of dates. What I would like to do is SELECT dates from a table that doesn't really exist. That way I don't have to maintain a table of dates. Is there a way to select dates from a sort of phantom table in MySQL?
        you still need a table (your_table) containing a list of dates

        Oh, I think I get it now (re-reading the original question). You don't have any data? You don't have, for instance, a table already with a date column, and need to extract the records which match your criteria, you just want to use MySQL to create the list? I'm puzzled as to why you want to use MySQL to do this, when you could do it with a date and time module.

        It would be trivial to generate a table in MySQL which includes every date from 1900 to 2100.

        Create the table with one column for the date, put 1900-01-01 into a var, insert that date into your table as a record, use MySQL's function to add one day to that date, lather, rinse, repeat until date == 2100-12-31.



        ($_='kkvvttuu bbooppuuiiffss qqffssmm iibbddllffss')
        =~y~b-v~a-z~s; print