I believe you are not letting MySQL do enough work for you.  The date 
format is perfect, even as a string, to perform the comparison you are 
trying to perform.

SELECT @currTime := NOW();
+---------------------+
| @currTime := NOW()  |
+---------------------+
| 2004-08-26 12:48:16 |
+---------------------+
1 row in set (0.00 sec)

SELECT @currTime as CurrentTime
        , (@currTime <= '2005-08-01')
        , (@currTime > '2005-08-01')
        , (@currTime > '2004-08-26 12:00:00')\G
*************************** 1. row ***************************
                        CurrentTime: 2004-08-26 12:48:16
        (@currTime <= '2005-08-01'): 1
         (@currTime > '2005-08-01'): 0
(@currTime > '2004-08-26 12:00:00'): 1
1 row in set (0.00 sec)

As you can see, MySQL is perfectly capable of comparing dates and 
datetimes if you just let it. There is no reason to convert them to any 
sort of intermediate value as it will do it for you internally and 
automatically. Please read this to see just how many different ways Dates 
can be specified:

http://dev.mysql.com/doc/mysql/en/DATETIME.html



You could try this as your query:

SET @date1 ='2004-08-12', date2='2004-08-18';

SELECT * 
FROM account 
WHERE (date >= date1) 
        AND (date <= date2);


and it should work just fine.

Shawn Green
Database Administrator
Unimin Corporation - Spruce Pine
 

"Yong Wang" <[EMAIL PROTECTED]> wrote on 08/26/2004 12:31:46 PM:

> Hi, All:
>     I have a database which contains date attribute in string format
> (like 2004-08-12). I want to genearte a report based on period time.
> I use the syntax:
> date1 ='2004-08-12'
> date2='2004-08-18'
> SELECT * FROM account WHERE (TO_DAYS(date) >= TODAYS(date1)) and
> (TO_DAYS(date) <= TO_DAYS(date2));
> The report script complains the condition after WHERE clause. The
> reason I use TO_DAYS is that I want to convert 
> string date data into integer for comparison. Can I use TO_DAYS() like
> this way ?
>      Thanks a lot.
> 
>     Yong
> 
> 
> -- 
> MySQL General Mailing List
> For list archives: http://lists.mysql.com/mysql
> To unsubscribe:    http://lists.mysql.com/[EMAIL PROTECTED]
> 

Reply via email to