in reply to Re^2: (OT) parsing time in mysql
in thread (OT) parsing time in mysql

It brought back results from other months that occured on the same day.
I posted wrong request :( But it can be easily extended to become right:
-- today SELECT * from `your_table_name` WHERE YEAR(time) = YEAR(NOW()), DAYOFYEAR(time) = DAYOFYEAR(NOW()) --this month SELECT * from `your_table_name` WHERE YEAR(time) = YEAR(NOW()), MONTH(time) = MONTH(NOW()) --this week (USA) (simple solution with WEEK() --won't work at the beginning of the year SELECT * from `your_table_name` WHERE YEARWEEK(time, 0) = YEARWEEK(NOW(), 0)
Rewriting of the request to use DATE_FORMAT can be performed according to the docs.

I don't know if it's a Perlish way, but it's a RIGHT way. SELECT must select only the data you want, and it's faster and cleaner to perform all heavy-weight data filtering on the database side.


     s;;Just-me-not-h-Ni-m-P-Ni-lm-I-ar-O-Ni;;tr?IerONim-?HAcker ?d;print

Replies are listed 'Best First'.
Re^4: (OT) parsing time in mysql
by Bro. Doug (Monk) on Aug 12, 2006 at 07:21 UTC
    It almost hurts me to ask this, but what do you mean 'more Perlish'? MySQL isn't very perlish at all, unfortunately.
    However... you might try heavy use of wild-carding. That's sort of perlish.
    select * from mytable where date like curdate.'%' ;

    Or something.
    Bro. Doug The Inert.